Printer driver

In computers, a printer driver or a print processor is a piece of software on a computer that converts the data to be printed to a format that a printer can understand. The purpose of printer drivers is to allow applications to do printing without being aware of the technical details of each printer model.

Printer drivers should not be confused with print spoolers, which queue print jobs and send them successively to a printer.

Printer drivers in different operating systems

Unix and Unix-like

Unix and other Unix-like systems such as Linux and OS X use CUPS (short for Common Unix Printing System), a modular printing system for Unix-like computer operating systems, which allows a computer to act as a print server. A computer running CUPS is a host that can accept print jobs from client computers, process them, and send them to the appropriate printer. Printer drivers are typically implemented as filters. They are usually named the front end of the printing system, while the printer spoolers constitute the back end.

Backends are also used to determine the available devices. On startup, each backend is asked for a list of devices it supports, and any information that is available.

DOS

With most other programs, the job of persuading the computer and printer to talk to each other feels like translating between Finnish and Turkish when you only know English.

Edward Mendelson approving of WordPerfect's printer drivers, 1985[1]

DOS supports predefined character devices PRN:, LPT1:, LPT2: and LPT3: associated with parallel printers supported in the system. Similarly, serial printers can be used with AUX:, COM1:, COM2:, COM3: and COM4:.

Users can use commands like, for example, "COPY file1 LPT1:" to print the content of a file to a printer. The contents is transferred to the printer without any interpretation. Therefore, this method of printing is either for files already stored in the corresponding printer's language or for generic text files without more than simple line-oriented formatting.

يوفر نظام DOS أيضًا برنامجًا ديناميكيًا لتخزين الطباعة يُسمى PRINT ، بالإضافة إلى دعم اختياري لالتقاط صور الشاشة في وضع الرسومات عبر GRAPHICS . وفي حال تحميل برنامج تشغيل جهاز الأحرف الاختياري PRINTER.SYS ، يوفر DOS دعمًا لتبديل صفحات الترميز للطابعات المرتبطة به ، حيث يدعم النظام افتراضيًا أنواعًا مختلفة من طابعات المصفوفة النقطية وطابعات نفث الحبر .

إضافةً إلى ذلك، لا توجد برامج تشغيل خاصة بالطابعات على مستوى النظام لاستخدامها على مستوى التطبيقات في نظامي MS-DOS/PC  DOS. أما في نظام DR-DOS ، فيمكن تحميل أمر SCRIPT ليعمل في الخلفية بهدف اعتراض مخرجات الطابعة من التطبيقات وتحويلها إلى PostScript، وذلك لدعم الطابعات المتوافقة مع هذه الصيغة حتى من قِبل التطبيقات التي لا تدعمها مباشرةً.

لدعم الطباعة الأكثر تعقيدًا لمختلف طرازات الطابعات، قد يُزوَّد كل تطبيق (مثل معالج النصوص ) ببرامج تشغيل خاصة به، وهي عبارة عن وصف لتسلسلات الهروب الخاصة بالطابعة . كما تُزوَّد الطابعات أيضًا ببرامج تشغيل لأكثر التطبيقات شيوعًا. بالإضافة إلى ذلك، من الممكن أن تتضمن التطبيقات أدوات لتحرير وصف الطابعة، في حال عدم وجود برنامج تشغيل جاهز. في أيام انتشار نظام التشغيل DOS، كانت العديد من الطابعات مزودة بأوضاع محاكاة لأوامر Epson FX-80 [ 2 ] و IBM Proprinter . كما أن العديد من طابعات الليزر الحديثة مزودة بأوضاع محاكاة لطابعات HP PCL (HP LaserJet) أو PostScript التي تعمل في نظام DOS. ويبدو أنها متوافقة أيضًا مع نظام التشغيل Windows 3.x. [ 3 ]

ويندوز

في أنظمة مايكروسوفت ويندوز ، تستخدم برامج تشغيل الطابعات واجهة برمجة تطبيقات الرسومات ( GDI ) ( المبنية على Unidrv أو PScript ) أو XPS (المبنية على XPSDrv). وتستخدم البرامج بعد ذلك نفس واجهات برمجة التطبيقات القياسية لعرض النصوص والصور على الشاشة والورق. تُعرف الطابعات التي تستخدم GDI بشكل أصلي باسم طابعات ويندوز، وتُعتبر غير متوافقة مع أنظمة التشغيل الأخرى، على الرغم من وجود برامج (مثل PrintFil) تُمكّن هذه الطابعات من العمل في موجه أوامر DOS داخل ويندوز.

تسمح واجهات برمجة تطبيقات Win32 أيضًا للتطبيقات بإرسال البيانات مباشرة إلى برنامج التخزين المؤقت للطباعة، متجاوزة برنامج تشغيل الطابعة؛ ومع ذلك، فإن عددًا قليلاً من التطبيقات يستخدم هذا الخيار بالفعل.

في نظام التشغيل ويندوز 7 ، يوجد برنامج تشغيل الطابعة عادةً في أحد المجلدات التالية: [ 4C:\Windows\System32\DriverStore\FileRepository ] أو [4 ] .C:\Windows\System32\spool\DRIVERS\x64\3

أميغا

كان نظام التشغيل AmigaOS الأصلي، حتى الإصدار 1.3، يدعم الطابعات من خلال سلسلة قياسية من برامج التشغيل المخزنة في المسار المطلوب "DEVS:Printers". كانت جميع برامج تشغيل الطابعات مخزنة في هذا المجلد، وتغطي الطابعات القياسية في الفترة ما بين 1985 و1989 تقريبًا، بما في ذلك برنامج تشغيل Epson FX القياسي، وXerox 4020، وHP، وما إلى ذلك.

كان على أي برنامج تشغيل طابعة Amiga أن يتواصل من خلال جهاز Amiga القياسي للطابعة (جهاز الأجهزة القياسي الافتراضي لـ Amiga الذي يتعامل مع الطابعات)، وجهاز parallel القياسي (الذي يتحكم في المنفذ المتوازي) ثم يتحكم برنامج التشغيل في الطابعة من تلقاء نفسه.

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

من خلال استخدام برنامج تفضيلات الطابعة، يمكن توصيل الطابعات بالمنفذ التسلسلي أيضًا.

كان نظام أميغا يدعم أيضًا جهازًا افتراضيًا يُسمى "PRT:" للإشارة إلى جهاز الطابعة (printer.device)، فعلى سبيل المثال، كان الأمر "COPY file TO PRT:" يُطبع الملف مباشرةً متجاوزًا جهاز الطابعة (parallel.device) وبرنامج تشغيل الطابعة الافتراضي. استخدم نظام أميغا رموز ANSI القياسية ، وليس الرموز الخاصة التي تُحددها شركات تصنيع الطابعات المختلفة. وبهذه الطريقة، يُمكن لجميع التطبيقات على نظام أميغا استخدام نفس مجموعة تسلسلات التحكم القياسية، دون الحاجة إلى معرفة الطابعة المتصلة فعليًا. ثم يقوم برنامج تشغيل الطابعة بترجمة هذه التسلسلات القياسية إلى التسلسلات الخاصة التي تفهمها كل طابعة.

تقوم الدالة الداخلية "PWrite" في جهاز الطباعة (printer.device) بنظام Amiga بكتابة عدد من البايتات يساوي "length" مباشرةً إلى الطابعة. وعادةً ما تستدعي برامج تشغيل الطابعات هذه الدالة لإرسال بياناتها المخزنة مؤقتًا إلى الطابعة. ويُحدد عدد هذه البيانات من قِبل مُنشئ برنامج التشغيل. وكان نظام Amiga يفتقر إلى نظام تخزين مؤقت قياسي للطباعة.

منذ إصدار AmigaOS 2.0، تم تغيير إعدادات الطابعة القياسية (printer.device) للتحكم في عدة طابعات في آن واحد. قُسّمت تفضيلات الطابعة إلى ثلاث لوحات رئيسية: Prefs:Printer، التي تُحدد الطابعة الرئيسية وعناصر أساسية أخرى مثل "تباعد الطباعة" و"حجم الورق". تتحكم PrinterGFX في ميزات مثل التظليل والتحجيم. تتحكم PrinterPS في طابعات Postscript. ومن المثير للدهشة أن برامج تشغيل الطابعات ظلت كما هي تقريبًا من Workbench 1.3، مع حدود 4096.

دفع هذا الأمر مستخدمي أميغا إلى تفضيل أنظمة الطباعة الخارجية المزودة ببرامج تشغيل خاصة بها، مثل TurboPrint و PrintStudio ، والتي لم تقتصر على توفير برامج تشغيل حديثة فحسب، بل تضمنت أيضًا خدمة إدارة الطباعة في أميغا، ودعم الطباعة بـ 16 مليون لون. يستخدم نظام MorphOS إصدارًا خاصًا من TurboPrint لتشغيل الطابعات الحديثة.

تضمنت العديد من برامج Amiga، مثل برامج النشر المكتبي مثل PageStream، في الماضي برامج تشغيل الطابعة الخاصة بها.

يتعرف برنامج Poseidon USB Stack تلقائيًا على طابعات USB. هذا البرنامج قادر على اكتشاف أي جهاز USB حسب فئته، ولكن لا تزال الطابعات بحاجة إلى برنامج تشغيل للتحكم بها.

أنواع السائقين

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

محولات مستقلة عن الجهاز

تستطيع هذه البرامج تحويل بيانات الطباعة من تنسيق عام (مثل PDF، DVI، إلخ) إلى تنسيق عام آخر (مثل PS). ومن الأمثلة على ذلك برنامج Ghostscript، إلخ.

محولات إلى تنسيق خاص بالجهاز

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

تتضمن أمثلة التنسيقات الخاصة بالشركات المصنعة ما يلي:

أشكال التغليف

يمكن تغليف برامج التشغيل القابلة للتثبيت بصيغ متنوعة. تُعدّ صيغة PPD من الصيغ الشائعة لتغليف برامج التشغيل التي تقبل بيانات Postscript أو PDF كمدخلات. ونظرًا لهيمنة أنظمة تشغيل مُحددة، فإن واجهة نظام التشغيل مع برنامج التشغيل أكثر توحيدًا من واجهة برنامج التشغيل مع الطابعة. وبالتالي، فإن توحيد صيغ تغليف برامج التشغيل يفوق توحيد وظائفها الفعلية.

  • ملف وصف طابعة PostScript: عادةً ما يحتاج نظام التشغيل إلى معرفة خصائص الطابعة. تُعد ملفات PPD الطريقة المعتادة لتوفير هذه المعلومات. تتميز هذه الملفات بأنها مستقلة عن النظام، كما تتوفر قاعدة بيانات ضخمة مجانية لها، وهي Foomatic .
  • مرشح CUPS: يستخدم هذا التنسيق بواسطة CUPS على أنظمة Linux.

انظر أيضاً

مراجع