مشروع Linux Foundation

تحتوي هذه الصفحة على تفاصيل مشروع كتابة فني مقبول ضمن "موسم المستندات" من Google.

ملخص المشروع

مؤسسة البرامج المفتوحة المصدر:
مؤسسة Linux
الكاتب الفني:
PIYUSHgoyal16
اسم المشروع:
دليل توجيهي وتصاميم لبرامج الطابعات/الماسحات الضوئية في تطبيقات الطابعات
طول المشروع:
المدة العادية (3 أشهر)

وصف المشروع

نظرة عامة

برامج تشغيل الطابعات الكلاسيكية التي تتكون من عوامل التصفية الخاصة بالطابعة ووصف PPD (وصف الطابعة Postscript، يصف إمكانات الطابعة والتصفية التي يجب استدعاءها) الملفات التي يجب إسقاطها في أدلة معينة من نظام الملفات يتم استبدالها بما يسمى بتطبيقات الطابعة، محاكاة طابعة شبكة بروتوكول الطباعة على الإنترنت (IPP).

معظم الطابعات الحديثة للأغراض العامة هي طابعات IPP تتيح الطباعة بدون برنامج تشغيل. وهم يعلنون عن أنفسهم من خلال DNS-SD، ويمكن للعملاء استطلاع معلومات القدرة على ذلك من خلال طلبات بروتوكول IPP، ويستخدمون تنسيقات البيانات القياسية لمهام الطباعة. الطابعات التي لا توفر هذه الوظيفة، وعادةً ما تحتاج الطابعات القديمة أو المتخصصة إلى برنامج تشغيل طابعة.

تطبيق الطابعة هو برنامج خفي يكتشف الطابعات المتوافقة ويُعلن عن هذه الطابعات على المضيف المحلي باعتباره طابعة IPP Everywhere. تحتوي تطبيقات الطابعة على البرامج المخصّصة لطباعة المهام الواردة على الطابعات التي تتوافق معها، وتحويل البيانات إلى اللغة الأم للطابعة، وتوفر معلومات حول إمكانات الطابعة للعملاء عند الطلب. يحتوي تطبيق الطابعة على واجهة إدارة ويب، مثل طابعة شبكة فعلية.

كما نعلم، إنّ نظام Linux يستخدم حزم وضع الحماية (Snap على سبيل المثال) وتتحرك الطباعة أيضًا في هذا الاتجاه. في الحزمة ذات وضع الحماية، لا يمكننا تعديل محتويات الدليل بعد إنشائها. لم يعُد نظامنا معياريًا بعد الآن. لا يمكننا اختيار حزمة برنامج تشغيل الطابعة المراد تثبيتها. تعالج تطبيقات الطابعة هذه المشكلة المتعلقة بالوحدات النمطية وتمنحنا الحرية نفسها كما في برامج تشغيل الطابعات.

لا تُعدّ برامج تشغيل الطابعات والماسحات الضوئية في Snaps فقط من متطلبات استخدام CUPS العاجل والسريع، بل تعمل أيضًا على الأنظمة الكلاسيكية بالكامل، وعلى عكس برامج التشغيل المغلّفة الكلاسيكية، فهي تعتمد على توزيع نظام التشغيل. يمكنك جعل برنامج تشغيل الطابعة Snap يعمل مع جميع توزيعات نظام التشغيل التي تعمل بسرعة، ولا حاجة إلى حزم برامج تشغيل الطابعات لكل توزيع (وإصدار منها) بشكل مستقل، والعمل بشكل يعيق التبعية. الميزة الأخرى هي أنه تم إيقاف المفهوم القديم لملفات PPD التي تأتي من طابعات PostScript. بالإضافة إلى ذلك، من خلال إقران نظام CUPS وبرنامج تشغيل الطابعة باستخدام اتصال IP بدلاً من إسقاط الملفات في نظام CUPS، يمكن أن يكون كل من نظام CUPS وتطبيق الطابعة في حزم منفصلة ذات وضع حماية.

وستكون مهمتي هي وصف كيفية تصميم برامج تشغيل للطابعات والماسحات الضوئية لهذا النوع من التغليف وكيفية تغليفها في مقاطع Snap. والغرض من ذلك هو مساعدة أي شخص يكتب برامج تشغيل طابعة أو ماسح ضوئي، وخاصة أيضًا الشركات المصنعة للأجهزة، في المستقبل للقيام بذلك بالطريقة الصحيحة.

يمكن تلخيص سير عمل تطبيق الطابعة مع المخطط الانسيابي المحدد:

إن القاعدة لإنشاء تطبيقات الطابعة/المسح الضوئي هي PAPPL، وهي مكتبة توفر معظم الوظائف اللازمة لهذا الغرض، ولكنها تحتوي أيضًا على فلاتر cups-filters التي تحتوي على تعليمات برمجية تُستخدم في تطبيقات الطابعة. لا يزال المفهوم قيد التطوير، وبشكل أساسي في برنامج Google Summer of Code لهذا العام، ولكن في 14 أيلول (سبتمبر)، عندما تبدأ فترة كتابة الوثائق، انتهت فترة الترميز في GSoC بالفعل وهذا هو الوقت الذي يحتاج فيه OpenPrinting إلى البرنامج التعليمي.

قالب لبرامج تشغيل الطابعات تحديد الهيكل لبيانات JOB

توضيح مصفوفة الثوابت لأحجام الوسائط

توضيح الدوال 1) معاودة الاتصال أو الدالة المنطقية تقبل دالة منطقية تقبل اسم برنامج التشغيل وبيانات برنامج التشغيل وما إلى ذلك وتضبط سمات برنامج التشغيل وفقًا لذلك. إذا كانت التفاصيل المقدمة مناسبة، فسيتم عرض "صواب" و"خطأ" عند الفشل.

2) طباعة قبول الدالة المنطقية للمهمة والخيارات الخاصة بالمهمة والجهاز. تطبع هذه الطريقة ملفًا وتعرض true عند نجاحها وتعرض false عند الفشل.

3) rendjob الدالة المنطقية تقبل الوظيفة، والخيارات المتاحة للمهمة، والجهاز. إنه يُنهي الوظيفة ويكون صوابًا عند النجاح ويُرجع القيمة false عند الفشل.

4) rendpage تقبل الدالة المنطقية الوظيفة، والخيارات الخاصة بالمهمة، والجهاز، ورقم الصفحة. يُنهي الصفحة ويعرض القيمة "صواب" عند الفشل وعرض "خطأ" عند الفشل.

5) rstartjob الدالة المنطقية تقبل المهمة وخيارات الوظيفة والجهاز. تبدأ المهمة وترجع true عند النجاح وترجع false عند الفشل.

6) rstartpage تقبل الدالة المنطقية الوظيفة، والخيارات الخاصة بالمهمة، والجهاز، ورقم الصفحة. ويبدأ تشغيل الصفحة ويعرض القيمة "صواب" عند الفشل، ويعرض القيمة "خطأ" عند الفشل.

7) rكتابة دالة منطقية تقبل المهمة وخيارات للمهمة والجهاز ورقم السطر وصفيف الأحرف. حيث يكتب السطر ويعرض قيمة true عند النجاح، ويعرض قيمة false عند الفشل. 8) الدوال الاختيارية مثل select (تساعد في تحديد الطابعات بناءً على الإجراء المقدم) وcompress(ضغط سطر الرسومات) وغير ذلك