Введение

Программное обеспечение для подключения к принтеру

В компьютерах драйвер принтера или процессор печати — это программный компонент компьютера, который преобразует данные для печати в формат, понятный принтеру. Назначение драйверов принтера заключается в том, чтобы позволить приложениям осуществлять печать, не учитывая технические особенности каждой модели принтера. Драйверы принтера не следует путать с диспетчерами очереди печати, которые ставят задания на печать в очередь и последовательно отправляют их на принтер.

Unix и Unix-подобные

Unix и другие Unix-подобные системы, такие как Linux и OS X, используют CUPS (сокращение от Common Unix Printing System) – модульную систему печати для Unix-подобных компьютерных операционных систем, позволяющую компьютеру функционировать как сервер печати. Компьютер, работающий под управлением CUPS, является хостом, способным принимать задания на печать с клиентских компьютеров, обрабатывать их и отправлять на соответствующий принтер. Драйверы принтеров обычно реализуются в виде фильтров. Их часто называют "фронтендом" системы печати, а механизмы очереди печати – "бэкендом". Бэкенды также используются для определения доступных устройств. При запуске у каждого бэкенда запрашивается список поддерживаемых им устройств и доступная информация о них.

DOS

DOS поддерживает предопределенные устройства PRN:, LPT1:, LPT2: и LPT3:, связанные с параллельными принтерами, поддерживаемыми в системе. Аналогично, серийные принтеры могут использоваться с AUX:, COM1:, COM2:, COM3: и COM4:. Пользователи могут использовать команды, например, "COPY file1 LPT1:", для печати содержимого файла на принтер. Содержимое передается на принтер без какой-либо интерпретации. Поэтому этот метод печати подходит либо для файлов, уже сохраненных на языке конкретного принтера, либо для простых текстовых файлов с минимальным форматированием, основанным на строках. DOS также предоставляет динамически загружаемый модуль обработки печати под названием PRINT, а также необязательную поддержку захвата экрана, в том числе в графическом режиме, через GRAPHICS. Если загружен дополнительный драйвер устройства PRINTER.SYS, DOS обеспечивает поддержку переключения кодовых страниц и для подключенных принтеров. По умолчанию поддерживаются различные типы матричных и струйных принтеров. Помимо этого, в MS DOS/PC DOS отсутствуют общесистемные драйверы принтеров для использования на уровне приложений. Однако в DR DOS команда SCRIPT может быть загружена для работы в фоновом режиме, чтобы перехватывать и преобразовывать вывод принтера из приложений в PostScript, обеспечивая поддержку PS-совместимых принтеров даже приложениями, которые не поддерживают их напрямую. Для поддержки более сложной печати на различных моделях принтеров каждое приложение (например, текстовый процессор) могло поставляться со своими собственными драйверами принтера, которые по сути представляли собой описания управляющих последовательностей принтера. Принтеры также часто поставлялись с драйверами для наиболее популярных приложений. Кроме того, приложения могли включать инструменты для редактирования описания принтера, если готового драйвера не было. Во времена широкого распространения DOS многие принтеры поддерживали режимы эмуляции команд Epson FX 80 и IBM Proprinter. Многие современные лазерные принтеры также имеют режимы эмуляции для принтеров HP PCL (HP LaserJet) или PostScript, которые работают в DOS. Похоже, что они также совместимы с Windows 3.x.

Окна

В системах Microsoft Windows драйверы принтеров используют GDI (на основе Unidrv или PScript) или XPS (XPSDrv). Программы затем используют одни и те же стандартные API для отрисовки текста и изображений как на экране, так и на бумаге. Принтеры, которые используют GDI напрямую, обычно называют Winprinters и считают несовместимыми с другими операционными системами, хотя существует программное обеспечение (например, PrintFil), позволяющее использовать эти принтеры в среде DOS внутри Windows. Win32 API также позволяют приложениям отправлять данные непосредственно в очередь печати, минуя драйвер принтера; однако, лишь немногие приложения фактически пользуются этой возможностью. Обычно драйвер принтера расположен в папке C:\Windows\System32\DriverStore\FileRepository на компьютере с Windows.

Амига

Оригинальная AmigaOS до версии 1.3 поддерживала принтеры через стандартный набор драйверов, хранящихся по пути "DEVS:Printers". Все драйверы принтеров находились в этом каталоге и поддерживали стандартные принтеры примерно с 1985 по 1989 год, включая стандартный драйвер Epson FX, Xerox 4020, HP и другие. Любой драйвер принтера Amiga должен был взаимодействовать через стандартное устройство принтера Amiga (стандартное аппаратное устройство Amiga, отвечающее за работу с принтерами) и стандартное параллельное устройство (которое управляло параллельным портом), после чего драйвер самостоятельно управлял принтером. Драйверы принтеров Amiga были инновацией для своего времени. Они избавляли пользователей от необходимости индивидуальной настройки каждого приложения. Они могли печатать до 4096 цветов. С помощью программы "Параметры принтера" принтеры можно было подключать и к последовательному порту. Amiga также поддерживала виртуальное устройство "PRT:" для обращения к устройству принтера, например, команда "COPY file TO PRT:" вызывала прямую печать файла, минуя параллельное устройство и драйвер принтера по умолчанию. Amiga использовала ANSI-коды управления, а не специальные коды, определенные различными производителями принтеров. Таким образом, каждое приложение на Amiga могло использовать один и тот же стандартный набор управляющих последовательностей и не нуждалось в информации о подключенном принтере. Драйвер принтера затем преобразовывал эти стандартные последовательности в специальные последовательности, понятные конкретному принтеру. Внутренняя функция Amiga "PWrite" устройства принтера записывает 'length' байт непосредственно на принтер. Эта функция обычно вызывается драйверами принтера для отправки буфера(ов) на принтер. Количество буферов определяется разработчиками драйвера. В Amiga отсутствовал стандартный спулер печати. Начиная с AmigaOS 2.0, стандартное устройство принтера было изменено для управления несколькими принтерами одновременно. "Параметры принтера" были разделены на три основные панели: "Prefs:Printer", которая выбирает основной принтер и другие базовые параметры, такие как "Интервал печати" и "Размер бумаги", "PrinterGFX", контролирующая функции, такие как дитеринг и масштабирование, и "PrinterPS", управляющая PostScript-принтерами. Удивительно, но драйверы принтеров практически не изменились по сравнению с Workbench 1.3, сохранив ограничение в 4096 цветов. Это привело к тому, что пользователи Amiga стали отдавать предпочтение сторонним системам печати с собственными драйверами, таким как TurboPrint и PrintStudio, которые предлагали не только новые драйверы, но и полноценный спулер печати, а также возможность печати 16 миллионов цветов. MorphOS использует специальную версию TurboPrint для работы с современными принтерами. Многие программы Amiga, такие как программы верстки, например PageStream, в прошлом имели собственные драйверы принтера. USB-принтеры автоматически распознаются стеком Poseidon USB. Этот стек способен определять любое USB-устройство по его классу, но для управления принтерами все равно требуется драйвер.

Типы драйверов

В дополнение к возможности установки на компьютер, драйверы могут также присутствовать во встроенной прошивке принтеров и быть доступны через сетевой протокол (например, IPP). Встроенная прошивка принтера таким образом может устранить необходимость установки какого-либо драйвера на компьютер, принимая данные для печати в универсальном формате (например, PDF) через сетевой протокол. Несмотря на предпринятые усилия по стандартизации различных этапов конвейера печати, интерфейсы принтеров в значительной степени остаются закрытыми и специфичными для каждого производителя. Следовательно, функциональность драйверов может различаться. Тем не менее, в зависимости от выполняемой функции, драйверы можно классифицировать следующим образом.

Конверторы, не зависящие от устройства

Эти драйверы могут преобразовывать печатные данные из одного формата общего назначения (например, PDF, DVI и т.п.) в другой формат общего назначения (например, PS). Примером является Ghostscript и другие подобные программы.

Формат упаковки

Драйверы, доступные для установки, могут быть упакованы в различные форматы. PPD – популярный формат упаковки для драйверов, принимающих данные PostScript или PDF в качестве входных. В связи с доминированием определенных операционных систем, интерфейс драйвера и операционной системы более стандартизирован, чем интерфейсы драйвера и принтера. Следовательно, форматы упаковки драйверов более стандартизированы, чем сами функции, выполняемые драйверами. Файл описания принтера PostScript. Обычно операционной системе необходимо знать характеристики принтера. Файлы PPD – это стандартный способ предоставления этой информации. Они обладают преимуществом системной независимости, и существует большая, свободно доступная база данных таких файлов – Foomatic. Фильтр CUPS. Этот формат используется CUPS в системах Linux.