منصوبے کے بارے میں
## پروجیکٹ کا جائزہ
cups-web-print ایک Python Flask اور CUPS پر مبنی ویب پرنٹنگ سروس ہے جو CUPS پرنٹ سرور کے لیے HTTP گرافیکل انٹرفیس فراہم کرتی ہے۔ یہ سرور سے منسلک USB پرنٹر کو نیٹ ورک پرنٹر میں تبدیل کر سکتی ہے، جس سے LAN میں موجود ڈیوائسز براؤزر کے ذریعے پرنٹ کرسکتی ہیں، بغیر ہر ڈیوائس پر ڈرائیور انسٹال کرنے یا پرنٹ قطار کنفیگر کرنے کی ضرورت۔
## اہم صلاحیتیں
### فائل مینجمنٹ
- PDF، DOC، DOCX، PPT، PPTX، XLS، XLSX، TXT، RTF اور JPG، JPEG، PNG، GIF، BMP، SVG جیسے تصویری فارمیٹس کی حمایت
- ڈریگ اینڈ ڈراپ اپ لوڈ کی حمایت
- آن لائن پیش نظارہ: کمپیوٹر پر PDF، موبائل پر تصاویر
- فائل لسٹ دیکھنے اور حذف کرنے کی سہولت
### پرنٹ سیٹنگز
- کاغذ کا سائز: دفتری A1-A4، تصویری 5-10 انچ وغیرہ
- کاغذ کی قسم: عام کاغذ، چمکدار تصویری کاغذ وغیرہ
- رنگ موڈ: رنگین / سیاہ و سفید
- دو طرفہ پرنٹنگ: ایک طرفہ، دو طرفہ لمبی کنارے بائنڈنگ، دو طرفہ چھوٹی کنارے بائنڈنگ
- پرنٹ سمت: عمودی / افقی
- پرنٹ کاپیاں: 1-99
- صفحہ رینج: جیسے 1-5، 8، 10-12
- پرنٹ اسکیلنگ: خودکار / فٹ / فل / بغیر اسکیلنگ
- صفحہ آئینہ: افقی پلٹائیں کی حمایت
### ٹاسک مینجمنٹ
- پرنٹر آن لائن اسٹیٹس چیک (صرف IPP پرنٹرز)
- ریئل ٹائم ٹاسک اسٹیٹس مانیٹرنگ: جمع کرایا گیا / پروسیسنگ میں / مکمل / ناکام / منسوخ
- ٹاسک پیش رفت ڈسپلے (وقت اور CUPS قطار پر مبنی تخمینہ)
- ٹاسک منسوخی
- پرنٹ قطار ریئل ٹائم ویونگ
- پیپر ٹرے، انک کارٹریج اور پرنٹر معلومات (رن ٹائم، فرم ویئر ورژن، انتباہات وغیرہ) IPP پروٹوکول کے ذریعے حاصل کی جاتی ہیں
### سیکیورٹی دفاع
- پاتھ ٹراورسل حملوں سے تحفظ
- فائل ٹائپ وائٹ لسٹ توثیق
- فائل سائز کی حد 100MB
- لاگ خودکار گردش
- فائل حذف کرتے وقت پیش نظارہ کیش خودکار صفائی
### دو لسانی انٹرفیس
- چینی انٹرفیس: http://localhost:5000/zh
- انگریزی انٹرفیس: http://localhost:5000/en
## تکنیکی اسٹیک
- بیک اینڈ: Python 3.9+ اور Flask 3.0+
- فرنٹ اینڈ: HTML5 اور Tailwind CSS (CDN)
- پرنٹنگ سروس: CUPS 2.0+
- دستاویز کی تبدیلی: LibreOffice 6.0+
- PDF پروسیسنگ: poppler-utils (pdftoppm)، pdftk
- IPP پروٹوکول: ipptool (cups-client)
## مطابقت نوٹ
یہ پروجیکٹ IPP معیاری پروٹوکول اور CUPS معیاری کمانڈز استعمال کرتا ہے، نظریاتی طور پر زیادہ تر IPP پروٹوکول سپورٹ کرنے والے پرنٹرز کے ساتھ مطابقت رکھتا ہے۔ README میں کہا گیا ہے کہ Canon G3881 پر ٹیسٹ مکمل کیا گیا ہے، دیگر پرنٹرز کے لیے خود تصدیق ضروری ہے۔
## تعیناتی طریقے
### کنٹینر انسٹالیشن (تجویز کردہ)
Docker کے ذریعے چلائیں، 5000 (ویب انٹرفیس) اور 631 (CUPS) پورٹس میپ کریں، اور CUPS کنفیگریشن، قطار، لاگز اور اپ لوڈ اور پیش نظارہ ڈائرکٹریز کو ماؤنٹ کریں۔ USB پرنٹر کے لیے پرائیویلیجڈ موڈ اور USB ڈیوائس ماؤنٹنگ ضروری ہے؛ اگر صرف نیٹ ورک پرنٹر استعمال ہو تو ان دونوں کو ہٹایا جاسکتا ہے۔
پرنٹر شامل کرنے کی مثال (نیٹ ورک پرنٹر کے لیے):
```
docker exec cups-web-print lpadmin -p Canon_G3881 -v ipp://192.168.1.16:631/ipp/print -m everywhere -E
```
### لوکل انسٹالیشن
cups، cups-client، LibreOffice اجزاء، poppler-utils، pdftk اور Python ڈیپنڈنسیز انسٹال کرنے کی ضرورت ہے، CUPS سروس شروع کرنے کے بعد lpadmin سے پرنٹر شامل کریں، پھر app.py چلائیں۔ README میں crontab کے ذریعے بوٹ پر خودکار اسٹارٹ کا اختیاری طریقہ بھی دیا گیا ہے۔
## ڈائرکٹری ڈھانچہ
- app.py: Flask ایپلیکیشن کی مین فائل
- ipp_client.py: IPP کے ذریعے پیپر ٹرے، انک کارٹریج وغیرہ کی اسٹیٹس معلومات حاصل کرنا
- printer_checker.py: IPP، BJNP وغیرہ پروٹوکولز کے ذریعے پرنٹر آن لائن اسٹیٹس تصدیق
- templates/ : index.html (چینی مین پیج) اور index_en.html (انگریزی مین پیج)
- uploads/، previews/ : اپ لوڈ شدہ فائلوں اور پیش نظارہ فائلوں کے ڈائرکٹریز
## خرابی کا ازالہ
README میں مکمل چیک لسٹ فراہم کی گئی ہے، جس میں شامل ہے: lpadmin سے پرنٹر شامل کرنے میں ناکامی (مختلف برانڈز کے IPP ایڈریس فرق، ڈرائیور لیس موڈ، cupsenable/cupsaccept)، پورٹ 5000 پر کوئی رسپانس نہیں (عمل، پورٹ سننا، فائر وال، Flask بائنڈ ایڈریس)، صفحہ پر کوئی پرنٹر دستیاب نہیں، دستاویز کی تبدیلی میں ناکامی، PDF پیش نظارہ جنریشن میں ناکامی، صفحہ رینج نکالنے میں ناکامی، انک/پیپر ٹرے معلومات حاصل نہ کرنا، اور "کامیابی کا پیغام لیکن کوئی آؤٹ پٹ نہیں" کی صورت (میں -m everywhere پیرامیٹر، CUPS ڈرائیور اور PPD فائل، پرنٹر آئیڈل اسٹیٹس اور CUPS لاگز کی تصدیق ضروری ہے)۔
## لائسنس
GPLv3۔ README میں اعلان کیا گیا ہے کہ سافٹ ویئر "جیسا ہے" فراہم کیا جاتا ہے، مصنف استعمال کے نتائج کے لیے ذمہ دار نہیں۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.