Принтер postscript что это
Печать без PostScript или с PostScript (PS)?
Печать без PostScript или с PostScript (PS)? Или для чего покупать плоттер/мфу с PostScript?
Практически все плоттеры HP (Hewllett Packard) и инженерные широкоформатные принтеры/мфу (Ricoh, Xerox, Kip, Kyocera) имеют дополнительную опцию или версию модели аппарата с аппаратно-программной поддержкой PostScript.
Векторная графика представляет из себя данные сохранённые в файлы в виде кривых (линий) описанных формулами, а не координатами растровых точек для принтера, эти формулы как раз и обрабатывает PostScript.
Если Вы дизайнер или верстальщик, то Вы конечно работаете, в том числе, в таких, например, программах как CorelDraw (графический редактор), PhotoShop (графический редактор), Adobe Illustrator (графический редактор), InDesign (программа для вёрстки макетов), QuarkXpress (программа для вёрстки макетов), эти программы позволяют сохранять данные в виде векторной графики. Поэтому, если Вы хотите чтобы распечатки были всегда на 100% один в один с тем, что Вы видите на экране монитора, то Вам лучше приобретать модель с PostScript.
Если же Вы – инженер или разработчик и работаете с программами ГИС, САПР, AutoCad и другими инженерными программами, то PostScript Вам практически не нужен, так как плоттер или инженерный принтер/мфу предназначены в первую очередь для такой печати.
На практике PostScript нужен и применяется, только в случае, когда необходима прямая печать файлов формата PDF. Прямая печать файлов формата PDF на плоттер/инженерный принтер/мфу позволяет послать один или несколько файлов PDF на печать, не открывая их в программе, что позволяет значительно экономить время затрачиваемое на открытие файлов в программе, а затем растрирование(распределение на точки) их программой при посылке на печать.
То есть, повторюсь, аппаратно-программный PostScript, как опция на плоттерах и инженерных принтерах/мфу, – это встроенный в аппарат растровый процессор, в основном для прямой печати PDF файлов и улучшенной обработки и печати векторной графики и шрифтов.
заместитель генерального директора
ООО РИАЛ СТФ (Rialstf.RU)
190103, Санкт-Петербург,
11-я Красноармейская ул., дом 5/13
тел.: +7(812) 575-10-10 доб. 101
23 августа 2013 года.
Что представляет собой Adobe PostScript?
Принцип работы Adobe PostScript
При выборе параметра Печать драйвер принтера вашего компьютера автоматически создает файл языка PostScript с описаниями размера и стиля страницы, на которой должны быть размещены графические изображения, и принципа нанесения цвета. Иными словами, файл языка PostScript сообщает принтеру, как следует наносить пикселы документа на страницу.
После отправки на принтер файл языка PostScript обрабатывается процессором растровых изображений (RIP), встроенным в устройство. Процессор растровых изображений с поддержкой Adobe PostScript переводит инструкции вашего приложения, оптимизирует файл языка PostScript в соответствии с потребностями вашего принтера и создает массив пикселов, называемый растровым изображением, который передается на устройство для печати, которая выполняется именно так, как и предусматривалось в исходном приложении. И все это выполняется в мгновение ока.
К характерным особенностям языка Adobe PostScript 3 относятся следующие.
Языки и технологии принтеров
Сегодня принтер несильно отличается от компьютера. У него есть процессор, память, операционная система и постоянная память-накопитель. Если принтер сетевой, то у него есть сетевая карта и веб-сервер, позволяющий его администрировать. Принтеры не только поддерживают разные сетевые протоколы, но и принимают задания на специфичных языках, которые описывают разметку страниц и документов. Таким образом, на крупном предприятии программные средства печати должны взаимодействать с разными аппаратными реализациями протокола печати, возможно даже неизвестными. Конфигурирование печати принтера труднее, чем кажется на первый взгляд. Пользователи воспринимают печать как должное, однако, для получения качественного результата нужно пройти не один шаг.
В этой статье предлагаю рассмотреть и сравнить технологии печати, с которыми вы сталкиваетесь, выбирая новый принтер, проводя допечатную подготовку документа или работая с электронными PDF-копиями документов. И конечно, если вы пытаетесь перехватить и проанализировать задание на печать.
О языках принтеров
Что такое задание на печать? Это программа, написанная на специальном языке программирования – Page Description Language (PDL).
Печатаемые страницы кодируются в PDL и занимают меньший размер, а значит, передаются быстрее необработанных изображений. PDL не зависят ни от самих устройств, ни от разрешающей способности. Принтеры преобразуют задания на специализированном языке в понятный для устройства формат. Это значит, что принтеры содержат языковые интерпретаторы. Также как у языков программирования «а ля Java», у этих языков не одна версия и каждая работает немного по-своему.
Преобразование PDL в растровые изображения выполняется программой-обработчиком: процессором растровых изображений, Raster Image Processor или просто RIP.
Самые известные PDL языки: Postscript, PCL5, PCL6
Многие принтеры понимают больше одного языка. Но если отправить программу на ином языке, печать выполниться не сможет – компилятор не тот.
PostScript – самый распространённый из всех. Первоначально разработан компанией Adobe. Требует наличия лицензии для использования, поэтому на сегодняшний день используется преимущественно в высокопроизводительных устройствах верхнего ценового сегмента. Почти все программы, компонующие страницы, могут генерировать задания на PostScript. Это полнофункциональный язык программирования. Написанные программы можно просматривать с помощью текстового редактора. В них много круглых скобок, а также символов / %!
P.S. Эти символы ищутся интерпретаторами для распознавания заданий на печать.
Также PostScript является стандартом для MAC и профессиональным стандартом.
PCL – или Printer Common Language – альтернатива PostScript от Hewlett Packard (далее HP). Язык понятен принтерам других производителей, некоторые умеют работать только с ним. PCL – не язык программирования, он просто сообщает на принтер как ему следует напечатать страницы. Задания на PCL бинарные и непонятны для человека, зато короче по размеру, чем PostScript.
Существуют фильтры, преобразующие Postscript в PCL. Версии PCL разнятся не так сильно как PostScript, но достаточно, чтобы вызывать раздражение. Задания печатаются немного не так на разных моделях принтеров. Причина в диалектах со специальными командами. В отличие от PostScript, PCL изначально заточен именно на управление принтером, а не на переносимость страницы, поэтому для достижения наилучшего результата печати необходимо использовать команды под соответствующий принтер. Именно поэтому в операционной системе (ОС) указывается модель принтера, в противном случае генерируются иные PCL команды, интерпретируемые неправильно или вовсе игнорируемые.
На самом деле, вопрос не только в железе: существует так называемая эмуляция.
Эмуляция PCL – это значит, что разработчик стандарта (т.е. HP) не лицензировал или не тестировал принтер производителя на совместимость с PCL.
Эмуляция PostScript – Adobe не получал отчисления за свой интерпретатор PostScript, вместо этого некоторые вендоры написали собственный код. Политика лицензирования породила диалекты языков – схожие, но не повторяющие оригинал в точности. На практике оба могут выполняться с ошибками, но случается такое редко.
Чтобы вас окончательно запутать, HP определила два семейства языков PLC5 (5e – черно-белый, и 5c – цветной) и PCL6 (PCL/XL). Новые HP принтеры поддерживают оба. Ранее существовал и PCL4, но сейчас он слишком архаичный. Начиная с PCL5 5e, также были введены такие новшества, как: поддержка разрешения 600 dpi, двунаправленный обмен данными между принтером и компьютером и новые шрифты для Microsoft Windows.
PDF – еще одна разработка Adobe – Portable Document Format. Это формат документов, использующий часть возможностей PostScript, основа издательского дела и программ Office. PDF-документы не зависят от ОС и платформы. Очень часто формат используется для обмена документами с возможностью просмотра и печати. PDF – язык описания документов, а не страниц. Позволяет описывать не только страницы, но и всю структуру документа, главы, взаимосвязь текстовых столбцов друг с другом, правки и так далее. Плюс, куча возможностей мультимедиа.
Есть принтеры, которые интерпретируют PDF напрямую. Есть масса программ-трансляторов и визуальных редакторов с возможностью преобразования PDF, например, в PostScript. Это преобразование даже может быть скрыто от пользователя.
XHTML – появился относительно недавно. Принтер получает поток данных на языке, описывающем XHTML-print веб-страницу, генерирует представление задания (разные принтеры формируют разные задания, также как разные браузеры отражают страницу иначе).
HP-GL/2 – Hewlett-Packard Graphics Language – Служат для печати векторной графики в составе документа.
HPGL – язык поддержки плоттеров. Поддерживается почти всеми HP-принтерами.
PJL – Printer Job Language. Язык заданий для принтера, метаязык от HP, описывает какой PDL должен использоваться для задания, каким будет формат бумаги, сколько копий нужно напечатать, симплексное задание или дуплексное и так далее.
О драйверах
Драйвер принтера и поддержка – ПО, преобразующее файл в понятный для принтера. Задачи и функции драйвера отвечают на вопросы: «Что если принтер не поддерживает все языки?», «Имеется задание postscript, а принтер распознает только PCL 5E. Нужно напечатать PDF, что делать, если принтер его не интерпретирует?».
GDI – ещё задание на печать можно просматривать и интерпретировать централизованно, на ПК. Также можно отправлять готовые обработанные растровые изображения на принтер «без интеллекта». Именно так и работают многие Windows GDI-принтеры. Такие принтеры обладают весьма незначительным количеством логических инструкций и совсем не обладают интерпретаторами PDL. Вместо этого растеризацию выполняет обслуживающий компьютер. Часть информации для взаимодействия с GDI скрыта в коде Windows под патентами. Эта секретность затрудняет разработку аналогов в системах Linux, и, по сути, является преимуществом. Аналогично ситуация развивается с поддержкой новейших моделей принтеров. Впрочем, ситуация меняется благодаря существованию демона CUPS с поддержкой многих Win Printers с помощью реверс инжиниринга.
О сервере печати
Немного интересного о CUPS и отправке заданий на печать через него. В основе данного сервера печати лежит протокол IPP, который является всем известным HTTP с перегрузкой. Запросы о состоянии принтеров идут как операция HTTP GET, а задания на печать через HTTP POST. Таким образом, CUPS является, фактически, веб-сервером, но взаимодействует исключительно по порту 631, а не 80. CUPS является, пожалуй, самой полноценной реализацией IPP на планете, а его конфигурационные файлы очень похожи на файлы веб-сервера Apache. И, разумеется, позволяет системам печати использовать технологии аутентификации, контроля доступа и шифрования.
В Windows печать через протокол IPP появилась, начиная с Windows 2000. На клиентах с Windows 7 и новее, поддержка протокола IPP, как правило, уже установлена. Также есть Internet Printing – windows реализация сервера печати Internet через IPP. Для его установки необходимо сначала установить службу веб сервера MS IIS
О безопасности для принтеров
Сетевые принтеры, разумеется, поддерживают системы удаленного управления ими, конфигурирование и мониторинг преимущественно осуществляется либо через протокол IPP, либо через SNMP, либо из веб-браузера по HTTP. В частности, имея доступ к принтеру, можно получить такие параметры как: IP-адреса, стандартный шлюз, сервер Syslog, групповое имя (пароль) SNMP, опции протоколов, пароль администратора. Тут возможны несанкционированный доступ атаки по SNMP и DDOS-атаки. Почти все, допускающие удаленное администрирование принтеры, являются незащищенными и используют пароль или SNMP-имя, данное на момент установки.
Какая операционная система используется принтером? Некоторые модели имеют Linux-based дистрибутив на борту. Понять, что же установлено на принтере, либо поменять пароли по умолчанию можно лишь закопавшись в документацию производителя. Неразбериха с операционной системой усугубляется тем, что средства графического администрирования имеют тенденцию сокрытия сведений о различиях производителей.
В заключение хочу еще раз сказать, что проблемы печати многогранны, некоторые из них остались за рамками статьи. В следующий раз надеюсь рассказать о ведении журналов, PPD-файлах и форматах бумаги. О том, как попросить монохромный принтер распечатать двусторонний цветной документ в неизвестном ему формате b4, а также о всевозможных утилитах печати и командах совместимости.
Руководство по принтерам и печати
Принтер PostScript оснащен процессором, запускающим интерпретатор для обработки файлов на языке PostScript. Полученные файлы принтер PostScript обрабатывает интерпретатором, а затем печатает их. В большинстве случаев файлы, направленные на принтер PostScript, должны быть написаны на языке PostScript.
планирует запрос на печать и управляет передачей этого запроса на принтер PostScript.
Так как PostScript является языком, и предполагается, что запросы для принтеров PostScript пишутся на этом языке, некоторые приложения создают запросы на печать, не обрабатываемые принтерами PostScript. Ниже приведены примеры запросов, которые могут быть не обработаны некоторыми принтерами PostScript.
Тип данных | Тип запроса на печать |
---|---|
simple | Печать текстового файла ASCII ( simple ) |
troff | Печать вывода команды troff |
daisy | Печать файлов для принтера Diablo 630 ( лепестковый принтер ) |
dmd | Печать содержимого растрового дисплея терминала |
tek4014 | Печать файлов, форматированных для устройства Tektronix 4014 |
plot | Печать точечных файлов |
Служба печати содержит фильтры, переводящие запросы этих форматов в язык PostScript. Например, для преобразования файла с текстом ASCII в PostScript, фильтр считывает этот текст и описывает его с помощью установленных параметров, таких как шрифт и расположение текста на странице.
файл ASCII report2 (файл формата ASCII или simple ) преобразовывается в PostScript автоматически, так как целевой принтер ( psprinter ) описан в системе как принтер PostScript.
Примечание: Если эти фильтры будут использоваться с приложением, создающим вывод PostScript, убедитесь, что формат приложения согласовывается с форматом комментариев к файлу PostScript. В частности, начало каждой страницы PostScript должно быть отмечено комментарием
Например, пусть существует файл report2 с данными типа simple (то есть файл формата ASCII). Вам необходимо напечатать шесть страниц файла (с 4 по 9), причем на каждой физической странице должны быть распложены две логические страницы. Так как один из принтеров вашей системы ( psprinter ) является принтером PostScript, это можно сделать с помощью следующей команды:
Поддержка принтеров PostScript схожа с поддержкой любых других принтеров; принтеры должны быть описаны в системе с помощью команды lpadmin и для управления ими должно быть установлено соответствующее программное обеспечение. Для принтеров PostScript может также потребоваться дополнительная поддержка шрифтов и обеспечение работы медленных фильтров.
Принтер | Тип соединения | Порядок страниц |
---|---|---|
PS | Последовательно | обычная |
PS-b | Параллельно | обычная |
PS-r | Последовательно | обратная |
PS-br | Параллельно | обратная |
Для того, чтобы настроить принтер в системе сервера необходимо выполнить команду:
Для того, чтобы настроить принтер в системе клиента необходимо выполнить команду:
Для того, чтобы настроить принтер в системе клиента с локальной фильтрацией необходимо выполнить команду:
В ходе установки вы можете установить шрифты на принтера или загрузить шрифты в компьютер. Подробная информация приведена в разделе Установка и поддержка шрифтов PostScript.
Предустановленные фильтры PostScript пригодны в большинстве ситуаций. Однако, в некоторых случаях для лучшей обработки рекомендуется изменить описание фильтров или установить другие фильтры. В этом разделе описаны функции и расположение этих фильтров.
Примечание: Фильтры делятся на два типа: медленные и быстрые. Описания этих типов приведены в разделах lpfilter и Описание фильтра.
Тип данных файла | Фильтр |
---|---|
simple | postprint |
troff | dpost |
daisy | postdaisy |
dmd | postdmd |
tek4014 | posttek |
plot | postplot |
Следующие фильтры выполняют особые функции:
Служба печати содержит специальный фильтр загрузки (download), управляющий шрифтами по последнему описанному методу.
Для принтера prlocal эта команда выдаст результаты в файл /tmp/postio.o ; результаты будут выглядеть примерно следующим образом:
После выполнения постоянной загрузки шрифтов на принтер необходимо добавить имена шрифтов в этот файл. (Таким образом шрифты, загруженные в принтер, не будут загружаться, что существенно сэкономит время.)
Примечание: Если принтер подключен к удаленной системе, этот список должен включать в себя шрифты, находящиеся в этой системе, которые можно загрузить на принтер. Таким образом шрифты не будут передаваться по сети без необходимости.
Некоторые шрифты являются резидентными на хосте и загружаются в принтер при поступлении запроса, использующего этот шрифт. Задачей администратора является обеспечение доступности для всех пользователей всех шрифтов PostScript, хранящихся в системе. Для этого необходимо знать, куда и каким образом устанавливаются шрифты; это подробно описано в приведенных выше руководствах. Так как шрифты запрашиваются по имени и хранятся в файлах, служба печати хранит файл карты, в котором записана связь между именем шрифта и именем файла, в котором он хранится. Оба этих значения обновляются при установке шрифтов на хост.
Для каждого принтера можно указать доступные картриджи шрифтов или наборы символов. Каждому картриджу шрифтов или набору символов, внесенному в список, присваивается имя. Оно служит для удобства администратора печати и пользователей системы. Так как различные принтеры могут использовать могут использовать похожие картриджи шрифтов и наборы символов, рекомендуется для всех принтеров указывать общие имена шрифтов. Таким образом пользователь, отправляющий запрос на печать с указанием конкретного стиля шрифта, может не знать, на каком принтере выполняется печать и применяются ли при этом картриджи шрифтов или наборы символов.
Для получения имен прочих наборов символов, повторите приведенную выше команду, заменив 0 на 1, 2, 3 и так далее.
В общем, имена из базы данных terminfo должны быть схожи с именами, приведенными в документации принтера. Однако, в связи с тем, что различные производители используют различные имена, имена из базы данных terminfo могут расходиться для различных типов принтеров.
Для того, чтобы удалить записи отображения наборов символов, введите:
Если для принтера не указаны используемые им картриджи шрифтов, служба печати предполагает, что для принтера не установлен ни один картридж шрифтов и отклоняет все запросы печати, для выполнения которых необходимы картриджи шрифтов.
Для того, чтобы указать список картриджей шрифтов, введите:
Для того, чтобы удалить картридж шрифтов из списка, введите:
После указания списка шрифтов, используемых с принтером, вы можете их установить. См. Замена картриджа шрифтов принтера.
Перед тем, как выполнить печать файла, для которой требуется картридж шрифтов, необходимо установить и смонтировать этот картридж.
Если для картриджей шрифтов включен режим предупреждения, служба печати оповестит вас о том, что в очереди печати находится определенное количество заданий печати, для выполнения которых необходим этот картридж. См. Предупреждение о монтировании форм и картриджей шрифтов.
Для замены картриджа шрифтов необходимо, в первую очередь, удалить из принтера текущий картридж шрифтов. Затем необходимо установить в принтер новый картридж шрифтов и сообщить службе печати о том, что новый картридж готов к использованию, то есть смонтировать его. Так как служба печати продолжает печать файлов, для которых не требуется картридж шрифтов, необходимо предварительно выключить принтер.
Для того, чтобы размонтировать картридж шрифтов, введите:
Примечание: Не обязательно размонтировать текущий картридж шрифтов перед установкой в принтер нового картриджа.
Служба печати содержит метод, определяющий сбои принтера и создающий предупреждения о них. Сбой может быть как простой неполадкой, такой как нехватка бумаги, красящей ленты или красящего порошка, так и серьезным сбоем, таким как сбой подачи питания или сбой принтера. Диапазон индикаторов сбоя (то есть событий, по которым определяется наличие сбоя) также очень велик: от сбоя несущей частоты(сигнала, подтверждающего то, что принтер подключен) до отправки сигнала XOFF или сообщения.
Служба печати различает два класса индикаторов сбоя: разъединение (потеря несущей частоты) и задержка при печати (символ управления потоком XOFF, не имеющий совпадающего с ним XON). При возникновении других сбоев, служба печати не может определить их причину, и, следовательно, не может создать предупреждение. Однако, существуют фильтры, определяющие другие сбои принтера и сообщающие об этом службе печати, которая, в свою очередь, предупреждает вас. См. ***.
Для того, чтобы служба печати создавала предупреждения в случае сбоев принтера, введите одну из следующих команд:
Если вы хотите отменить предупреждения при сбоях, введите:
После возникновения сбоя вы начнете получать повторяющиеся предупреждения; для того, чтобы прекратить отправку предупреждений (для этого сбоя), необходимо ввести следующую команду:
Примечание: Тип предупреждения quiet указывается только для остановки текущего активного предупреждения; не указывайте quiet как тип предупреждений для нового принтера.
Примечание: Эта информация не применима к удаленным принтерам, доступным пользователям вашей системы.
Примечание: Для продолжения печати с начал страницы, на которой прервалась печать, необходимо использовать фильтр, ожидающий исправления неполадки перед продолжением печати. Такой фильтр должен работать с управляющими последовательностями, применяемыми принтером, для того чтобы хранить информацию о границах страниц и, таким образом, хранить информацию о странице, на которой была прервана печать. Фильтры, поставляемые со службой печати, отвечают этим требованиям. Если фильтр, применяемый в при исправлении ошибки, также не отвечает этим требованиям, вы получите предупреждение о том, что восстановление не сможет произойти должным образом.
Для указания способа восстановления службы печати после исправления сбоя введите одну из следующих команд:
Если метод восстановления не указан, служба печати попытается продолжить печать с начала страницы; если это не удастся, служба печати начнет печать с начала запроса.
При наличии принтеров, работающих с картриджами шрифтов, и для каждого принтера эти картриджи внесены в список, пользователь может создать запрос, для выполнения которого необходим указанный картридж шрифтов. Если же на момент запроса картридж шрифтов не смонтирован, задание остается в очереди до тех пор, пока вы не смонтируете картридж шрифтов. См. Задание применяемых с принтером картриджей шрифтом. Если форма (или картридж шрифтов) не смонтирована, и существует файл, для печати которого необходима эта форма, задание остается в очереди до тех пор, пока необходимая форма не будет смонтирована. См. Монтирование формы.
В этих случаях рекомендуется настроить службу печати таким образом, чтобы при необходимости монтирования формы вы получали предупреждение. Вы можете указать некоторое значение, которое является пороговым; если количество запросов, использующих картридж шрифтов или форму превышает это значение, вы получаете предупреждение.
Для того, чтобы получать предупреждения при необходимости монтирования формы, введите:
Для того, чтобы получать предупреждения при необходимости монтирования картриджа шрифтов, введите:
Для того, чтобы предупреждения создавались при наличии в очереди хотя бы одного запроса, для выполнения которого необходима форма или картридж шрифтов, введите любую из следующих команд:
Для прекращения отправки сообщений о необходимости монтирования формы или картриджа шрифтов, введите любую из следующих команд:
Для того, чтобы отменить отправку предупреждений при необходимости монтирования формы или картриджа шрифтов, введите любую из следующих команд:
При установке нового принтера вы можете указать дополнительный список параметров порта. Созданный вами список будет добавлен к списку по умолчанию, поэтому в списке необходимо указывать только изменяемые элементы. Дополнительный список указывается следующим образом:
Обратите внимание, что при указании в списке список_опций_stty более чем одного элемента необходимо использовать как одинарные так и двойные кавычки.
Предположим, что ваш принтер используется для печати графических данных, где к символу перевода строки не добавляется возврат каретки. В таком случае необходимо ввести следующую команду:
При этом одинарные кавычки не используются, так как список содержит только один элемент.
Предположим, что данные, отправляемые на принтер, должны проходить контроль нечетности. В таком случае необходимо ввести следующую команду:
Для того, чтобы напечатать файл в альбомном режиме, введите:
При выборе какого-либо способа рекомендуется основываться на способе доступа ваших приложений к системе печати. Во многих приложениях вы можете указать только имя принтера; в этом случае единственным решением является использование виртуальных принтеров. В других приложениях вы можете задавать команды, передающие задание печати. В этом случае вы можете, как в предыдущем примере, применять сценарии оболочки.