Поделиться через


Архитектура драйвера принтера

Важно!

Мы рекомендуем использовать драйвер класса "Входящие" от Майкрософт iPP вместе с приложениями поддержки печати (PSA) для настройки печати в Windows 10 и 11 для разработки принтеров.

Дополнительные сведения см. в руководстве по проектированию приложений поддержки печати.

Задания печати создаются приложениями с помощью вызовов Microsoft Win32 GDI или в Windows Vista Windows Presentation Foundation функций (WPF). Win32 выполняет очередь данных приложения в виде записей EMF для последующего воспроизведения с помощью обработчика печати EMF или может немедленно отрисовывать печатное изображение для каждой страницы документа. WPF выполняет функцию данных очереди приложений как файл очереди XPS.

До windows Vista приложения сообщали параметры принтера принтеру с помощью структуры DEVMODEW . В Windows Vista технологии Print Ticket и Print Capabilities передают параметры принтера, чтобы параметры принтера были более совместимыми между принтерами и приложениями.

Отрисовка изображений, выполняемая немедленно или во время обработки, выполняется в драйвере печати:

  • Драйвер принтера на основе GDI выполняет отрисовку изображений во время воспроизведения записей EMF из файла очереди и управляется модулем отрисовки GDI. Во время операции отрисовки модуль отрисовки GDI вызывает соответствующий драйвер принтера Windows 2000 и более поздних версий для получения помощи.

  • Драйверы печати XPSDrv используют серию фильтров обработки для обработки содержимого файла очереди XPS для вывода на принтер.

Драйверы принтеров windows 2000 и более поздних версий на основе GDI должны:

  • Помощь GDI в отрисовке заданий печати путем предоставления возможностей рисования для конкретного принтера, которые не поддерживает GDI.

  • Отправьте поток данных отрисованного изображения в диспетчер очереди печати печати.

  • Предоставьте пользовательский интерфейс для изменяемых параметров конфигурации, связанных с принтерами и документами печати, таких как выбор входных и выходных лотков, количество копий, разрешение и ориентация изображения и т. д.

Драйверы принтеров XPSDrv несут ту же ответственность за пользовательский интерфейс, что и драйверы на основе GDI, а также за обработку данных задания печати и отправку данных на принтер. Однако драйверам принтеров XPSDrv не требуется использовать GDI для отрисовки изображений страниц для принтера.

Драйверы принтеров Windows 2000 и более поздних версий состоят из набора компонентов драйвера принтера , которые делят операции рисования и пользовательского интерфейса драйвера на отдельные библиотеки DLL. Драйверы принтеров XPSDrv также состоят из компонентов, которые делят конфигурацию и функции рисования и отрисовки на отдельные объекты.

Этот раздел поможет вам понять различные типы драйверов принтеров, которые поддерживаются операционными системами Windows 2000 и более поздних версий, но следует также помнить, что в состав операционной системы входят следующие три драйвера принтера:

Драйвер универсального принтера (Майкрософт)

Драйвер принтера Microsoft PostScript

Microsoft Plotter Driver

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

Этот раздел содержит следующие разделы, описывающие архитектуру печати Windows.

Драйверы принтера XPSDrv

Драйверы принтера GDI

Технологии печати билетов и возможностей печати

Написание 64-разрядных драйверов принтеров