مشروع 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، وهي مكتبة توفر معظم الوظائف لهذا الغرض، ولكنها أيضًا أكواب الفلاتر التي تحتوي على التعليمات البرمجية المستخدمة في تطبيقات الطابعات. لا يزال المفهوم قيد التطوير، بشكل أساسي في برنامج Summer of Code من Google لهذا العام، ولكن في 14 أيلول (سبتمبر)، عندما تبدأ فترة كتابة المستندات، قد انتهت فترة الترميز في GSoC، وهذا هو الوقت الذي يحتاج فيه OpenPrinting إلى البرنامج التعليمي.

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

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

توضيح الدوال 1) معاودة الاتصال أو الإعداد دالة منطقية تقبل اسم السائق وبيانات السائق وما إلى ذلك وتضبط سمات السائق بالمقابل. إذا كانت التفاصيل المقدمة مناسبة، يتم عرض true وfalse عند الفشل.

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

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

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

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

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

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