Сравнение языков управления принтером PostScript и PCL.
На примере проблем качества печати принтера Oki C9650, C9655.
PostScript — язык программирования, предназначен для представления изображений в двухмерной (плоскостной) системе координат. Программы PS создают не люди, а другие программы в том числе драйверы принтера. Последняя версия PS 3 была представлена компанией Adobe в 1998 году.
Система PS включает в себя изображение —> драйвер принтера (программу) —> процессор принтера (RIP контроллер), поддерживающий на аппаратном уровне PostScript.
PS — аппаратно независимая система (как и DOS). PS файл способен распечатать любой принтер (устройство) в любой операционной системе, содержащий PostScript процессор, чего никак не скажешь про PCL HP.
PS ИДЕАЛЕН как для векторной, так и для растровой графики, поддерживает 12 бит или 4096 уровней каждого цвета! Post Script не имеет ограничений по разрешению печати, то есть количество точек на дюйм.
Отрезок в системе PS описывается, как группа точек, каждая со своим набором значений, как то — координаты, набор цветов (CMYK), номер оттенка каждого цвета. Такой способ обеспечивает уникальное качество изображения, однако требует больших ресурсных данных, как компьютера, так и мощного процессора принтера.
Язык PostScript лицензируемая система, а значит производители принтеров должны платить (при использовании) компании Adobe. Другими словами — принтер будет дорогим из-за дорогого могучего процессора, большого объема оперативной памяти, плюс стоимость лицензии.
Язык управления принтером PCL (компания Hewlett Packard) .
PCL — язык управления принтером, хорошо работает с векторной простой графикой и Windows шрифтами. На настоящий момент распространены PCL 5e (основной язык для монохромных принтеров), PCL 5c (для цветных) и PCL 6.
Язык PCL имеет бесплатное лицензирование, не требует мощных, производительных процессоров от принтеров. Машины получаются недорогие и быстрые.
PCL идеально подходит для офисно — бухгалтерских приложений.
Отрезок в системе PCL описывается, как набор векторных команд — координаты начала отрезка, длинна, угол наклона к оси координат, упрощенный набор цветов, упрощенный номер оттенка. При этом если отрезок имеет небольшое искривление, он выпрямляется, цвета и оттенки цветов также упрощаются. Другими словами качество цветной печати было принесено в жертву скорости, дешевизне и простоте. Если провести сравнение рисунков 2, 3 и 4 четко видно насколько качество PCL печати искажает изображение и уступает изображению отпечатанное с помощью PostScript драйвера.
Внизу располагаются изображения распечатанные на принтере OKI C9650dn Рис. 2 распечатан PCL драйвером, который идет в комплекте с принтером. Рис. 1 распечатан на том же принтере при помощи PostScript драйвера скаченного с сайта oki.ru. Все распечатки сделаны при настройках максимального качества. Далее изображения были отсканированы на одном сканере.
Материал подготовил Главный Инженер компании Новиков Александр.
Рис 1. Напечатанное изображение на принтере Oki C9650n посредством PostScript драйвера. Изображение фотографического качества. Часть изображения в красном квадрате показана на Рис 4. в увеличенном виде.
Рис 2. Распечатанное изображение на принтере Oki C9650 при помощи PCL драйвера (в комплекте принтера). Картинка сильно затемнена, цвета искажены. Часть изображения в красном квадрате показана на Рис 4. в увеличенном виде.
Рис 3. При подробном рассмотрении увеличенного изображения правого глаза видно, что язык PostScript на порядок лучше прорисовывает линии и оттенки цветов по сравнению с PCL. Особенно заметно насколько PCL HP упростил (исказил) цветопередачу на сетчатке глаза.
Рис 4. Четко видно насколько убогое количество оттенков цветов при управлении принтером драйвером PCL (Printer Control Languare). Отличия между растровой (PS3) и векторной (PCL) графикой. Oki C9650 — PostScript принтер.
1. Универсальность, платформо независимость.
2. 12 битная (4096 уровней) система оттенков цвета на каждый цвет.
3. Высокое качество напечатанных изображений, любое разрешение печати.
4. Способность работы как с векторной, так и с растровой графикой, поддержка большого количества масштабируемых шрифтов.
5. Не зависит от операционных систем. Позволяет легко реаьзовывать функции прямая печать pdf и airprint Wi-Fi печать c айфонов и айпадов и прочих гаджетов без установки драйвера.
Недостатки PostScript.
1. Требование больших ресурсов от компьютеров и мощных дорогих процессоров в принтерах.
2. Дороговизна системы как из-за дорогой аппаратной части, так и из-за лицензионных отчислений компании Adobe.
3. Большое время обработки и невысокая скорость печати (по сравнению с PCL).
PostScript подходит для печати качественных графических и векторных изображений, фотографий, сложных буклетов, флаеров.
1. Быстрая обработка, высокая скорость печати.
2. Низкая стоимость принтеров, дешевые процессоры, бесплатное лицензирование.
3. Идеален для скоростной печати офисно-бухгалтерских приложений.
4. Поддержка как Windows, так и большого количества собственных шрифтов.
Недостатки PCL.
1. Плохая работа с растровой графикой, поддержка малого количества оттенков цветов, некачественные графические изображения, сильные цветовые искажения.
2. Искажения сложных геометрических объектов и линий, стремление к упрощению сложных геометрических изображений.
3. Привязанность к операционным системам. Принтер который работает под Windows 7 не будет работат без специально написанного драйвера под Windows 8.
Диалоги о печатных тонкостях: языки описания страниц
Почему для конечного пользователя так важно знать, на каком языке его принтер «общается» с системой? Этим вопросом лучше задаться ещё до покупки самого принтера, потому как ответ на него в немалой степени влияет на такие простые и понятные для рядового потребителя параметры, как «скорость печати» и «качество печати». Скорости и качества нам, как водится, охота поболее да подешевле, вот только не появляется скорострельность и точная цветопередача из ниоткуда, равно как и никуда не исчезает. Ferra.ru в очередной раз доказывает простейшие законы физики на примере языков описания страниц.
История появления
Итак, с чего же всё начиналось? Наверное, все ещё помнят огромные и безумно шумные матричные принтеры, которые в нашем случае можно взять за историческую исходную точку в деле SOHO-печати. Со словосочетанием «матричный принтер» в первую очередь ассоциируется Epson. Собственно, компания Epson и придумала в далёких 70-х язык ESC/P (Epson Standard Code for Printers), который и по сей день поддерживается некоторыми другими производителями (к примеру, Brother) офисно-ориентированных устройств вывода посредством режима эмуляции.
Немногим позже, в 1981 году, IBM представила свою версию языка описания страниц под названием PPDS (Personal Printer Data Stream). Анонс совпал с выходом в свет первого принтера IBM, способного печатать графические изображения. Примерно в это же время на рынке появляется HP с языком PCL (Printer Command Language), который использовался в первых ударных и струйных принтерах. Тремя годами позже был представлен публике и первый релиз PostScript (также известный с постфиксом Level 1), базировавшийся на свободных исходниках Xerox и созданный силами только что основанной компании Adobe. Неудивительно, что и небезызвестная Microsoft включилась в эту софтварную гонку, правда, уже ближе к концу 80-х. Разработанный ею интерфейс GDI (Graphics Device Interface) используется в Windows для вывода текстовой и графической информации на принтеры и мониторы по сей день.
Вот так через краткий экскурс в историю мы наметили основной курс нашего материала, а в частностях стоит разобраться поподробнее, дабы исключить всякого рода языковые барьеры между пользователем и его печатающим устройством.
PostScript
Фактически это не просто язык описания страниц (то есть набор каких-то кодов сродни алфавиту), а целый язык программирования с типичными командами (циклы, операторы, структуры данных), посредством которого можно писать настоящие программы с неповторимой гибкостью. Именно неповторимой, потому как PostScript (PS) с момента своего появления остаётся почти абсолютным стандартом в области профессиональной печати и допечатной подготовки. Но, несмотря на то что PS предоставляет широкие возможности максимально качественной цветной печати, он не совсем подходит для «рутинной» печати простых текстовых документов ввиду своей невысокой скорости и некоторых других недостатков.
Различия в способах формирования изображения в растровом формате и PS как раз и объясняют приверженность профессионалов к последнему: кривую в каждой узловой точке можно свободно менять в соответствии с пользовательскими нуждами
PS отличается от прочих языков полной независимостью от разрешения принтера или плоттера. Команды PS представлены в виде ASCII (American Standard Code for Information Interchange) кодов, потому, к примеру, для вывода особых пользовательских шрифтов они должны быть преобразованы в совместимый с PS векторный формат. При отправке на печать изображение формируется «полистно», именно потому для профессиональной техники так актуальны большие объёмы кэш-памяти.
1-, 2-, 4- и 8-битная монохромная картинка в PS
Популярный графический формат EPS (Encapsulated PostScript) – это своего рода дополнение к PS. Файлы в этом формате могут содержать как векторные, так и растровые элементы, а особая строгая структура, в соответствии с которой данные упорядочиваются внутри документа, позволяет создавать кросс-платформенные исходники для печати.
Изначально PS был стандартом де-факто практически во всех моделях лазерных принтеров класса SOHO, однако в настоящее время он почти не применяется в решениях low-end и middle-end из-за дороговизны лицензирования у Adobe необходимых RIP (Raster Image Processor) контроллеров, встраиваемых в принтеры. К примеру, каждый RIP-контроллер с поддержкой PS Level 3 для плоттеров компании HP обходится примерно в $500.
В отличие от PS этот язык не может похвастаться полной совместимостью со всеми аппаратно-программными решениями и обладает зависимостью от разрешения печатающего устройства, но в то же время может свободно и совершенно бесплатно использоваться любыми производителями устройств и разработчиками ПО. Последняя версия языка (PCL6), которая разрабатывалась HP в тесном сотрудничестве с Microsoft, характеризуется высокой скоростью преобразования данных из формата прикладного приложения в формат языка описания страниц и обеспечивает ускоренный возврат ответа в приложение, потому идеально подходит для SOHO-сегмента. Также PCL способен работать непосредственно с TrueType-шрифтами, которые применяются по умолчанию в среде Windows.
TrueType-шрифт Courier New
PCL-принтеры снабжаются некоторым набором TrueType-шрифтов, которые «зашиваются» во внутреннюю память устройства. При печати драйвер напрямую передаёт текст на контроллер принтера, минуя стадию преобразования в изображение (рендеринг шрифта), за счёт чего повышается быстродействие
При использовании PCL показатели скорости и качества печати напрямую зависят от драйвера устройства, потому всякого рода несовместимости аппаратной и программной составляющих значительно влияют на количество ошибок при печати. По этому параметру PCL не может сравниться с универсальным PS. Тем не менее PCL на данный момент является, пожалуй, самым распространённым языком, применяемым в офисной и домашней среде.
И PS, и PCL подразумевают наличие специального контроллера со стороны принтера, который принимает команды языка описания страниц, а затем преобразует их в бинарные (0/1) коды, управляющие непосредственно самим механизмом печати. Идея GDI состоит в том, чтобы избавить печатающее устройство от дорогостоящего контроллера и переложить его функции на центральный процессор вместе с драйвером. Отсюда же следует первый недостаток GDI: требовательность к системным ресурсам. Этот язык подразумевает конвертацию графической информации и шрифтов в единое растровое изображение, которое затем и отправляется на печать.
Схема работы GDI
Схема работы GDI
Типичный пример ультрабюджетного принтера стоимостью чуть более $100 – Samsung ML-1210. Эта модель поддерживает лишь GDI, тогда как старшая и более дорогая ML-1250 уже комплектуется эмуляцией PCL6
Поддержкой исключительно языка GDI обладают лишь самые бюджетные принтеры. В большинстве случаев производители стараются оснастить свои продукты как минимум совместимостью с PCL (не говоря уже о PS) хотя бы через эмуляцию, что, опять же, накладывает определённые требования на ресурсы системы. Также GDI отличается от PS и PCL своими сравнительно скудными возможностями функционирования в рамках локальной сети, а добавить эту опцию можно лишь при помощи дополнительного, далеко не дешёвого сетевого контроллера. Исходя из этого, GDI рекомендуется использовать для индивидуальных домашних нужд.
Резюме
PS и PCL часто называют реальными языками описания страниц, тогда как существуют ещё и своего рода надстройки над ними, которые были созданы для упрощения процесса программирования или реализации дополнительных возможностей. Такие надстройки интерпретируют собственные команды в последовательность команд реального языка описания в соответствии с его синтаксисом. К примеру, надстройка над PCL под названием RPCS (Refined Printing Command Stream) была разработана компанией Ricoh для визуализации программирования своих знаменитых плоттеров посредством графических пиктограмм. При помощи BR-Script фирмы Brother реализуются расширенные функции калибровки цвета, а также эмулируются команды языков PS Level 3 и ESC/P.
Приведём своеобразный рейтинг реальных языков применительно к SOHO-сегменту (чем больше баллов, тем лучше):
PostScript | PCL | GDI | |
Популярность | 2 | 3 | 1 |
Качество печати | 3 | 2 | 1 |
Скорость печати | 2 | 3 | 1 |
Буквально каждая компания-производитель печатающего оборудования, не считая «родоначальников» реальных языков, внедряет в свои продукты оригинальные надстройки со своими специфическими бонусами. Но не стоит забывать о том, что каждый отдельный язык описания страниц лучше всего подходит для определённой сферы деятельности. Бессмысленно покупать принтер без поддержки PCL для офиса, равно как и не обойтись без PS, если вы профессионально работаете с графикой.