Что делает драйвер принтера? Как перехватить / получить данные / команду, которые он отправляет на принтер? - PullRequest
2 голосов
/ 19 декабря 2011

Что делает драйвер принтера?Например, когда я открываю документ word и использую File -> Print для печати документа: что делает драйвер принтера?Будет ли он преобразовывать документ .doc в PostScript, добавлять некоторые команды принтера и затем отправлять его на принтер?

Другой вопрос заключается в том, как перехватить данные / команды, которые драйвер принтера отправляет на принтер с программным обеспечением, в разделеWindows или * NIX.

1 Ответ

6 голосов
/ 03 февраля 2012

Проще говоря, драйвер принтера для Windows - это библиотека, которая реализует определяемый Windows интерфейс независимых от устройства команд обработки изображений и другой интерфейс связи с такими устройствами, как принтеры.Получив вызовы из интерфейса команд обработки изображений, он создает файл печати для конкретного устройства и отправляет его в интерфейс связи.

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

Эти интерфейсы, связанные с печатью, не просты.О них можно узнать только из следующих источников: Знакомство с печатью от Microsoft Dev Center и статья Модель драйвера Windows , по адресуВикипедия

Можно перехватить данные и отправить их в другое место, либо через интерфейс команд обработки изображений, либо через интерфейс связи.Однако это не простая задача.Это требует изучения системы печати и ее API, как в приведенных выше ссылках.

...