Общий интерфейс принтеров - PullRequest
0 голосов
/ 29 июля 2010

Каков сегодня общий интерфейс принтера? Я читал, большинство из них поддерживают PostScript и / или PCL. Как мне использовать PS / PCL из кода приложения (скажем, под Win32)?

Ответы [ 2 ]

2 голосов
/ 04 августа 2010

Насколько мне известно, PostScript и PCL являются открытыми спецификациями. Определенным источником для PostScript будет PLRM (Справочное руководство по языку PostScript). Эквивалент PCL можно найти на этой странице .

Большинство современных многофункциональных принтеров для офисной среды могут работать с различными типами PDL. PostScript и PCLXL являются наиболее распространенными, но некоторые другие:

  • PDF , некоторые принтеры поддерживают рендеринг PDF-файлов напрямую.
  • XPS , спецификация Microsoft Paper XML.
  • TIFF , представление страницы только для растровых изображений.

Многие производители также внедряют проприетарный PDL. Поскольку PostScript, PDF и XPS могут быть медленными для анализа и рендеринга, производитель часто реализует собственный PDL, оптимизированный для аппаратного и программного обеспечения принтера. Множество рассчитанных производителем подсчетов страниц в минуту возможно только при использовании их собственного драйвера PDL. Этот метод также используется бюджетными принтерами низкого уровня, где аппаратное обеспечение не способно интерпретировать PDL высокого уровня.

Что касается генерации этого вывода, обычно вам не нужно этого делать, вместо этого вы должны пройти через Windows GDI или, в зависимости от вашей целевой ОС, GDI + . Ваши процедуры рисования и вывода текста будут обрабатываться драйвером принтера, который, в свою очередь, будет генерировать вывод для конкретного принтера. Существуют также универсальные драйверы (Microsoft включает в себя универсальный драйвер принтера PostScript), которые можно использовать для создания выходных данных, не относящихся к какому-либо конкретному принтеру.

0 голосов
/ 04 августа 2010

В Windows вы обычно используете GDI и позволяете драйверу принтера переводить его на фактический язык принтера. Это дает вам полную независимость от устройства.

...