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


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

Внимание

Современная платформа печати — это предпочтительный способ взаимодействия с принтерами Windows. Рекомендуется использовать драйвер класса "Входящие" Microsoft IPP вместе с приложениями поддержки печати (PSA), чтобы настроить возможности печати в Windows 10 и 11 для разработки устройств принтера.

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

Архитектура отрисовки для модели драйвера принтера версии 4 совпадает с архитектурой XPSDrv, а конвейер фильтра XPS также следует тому же дизайну, который использовался в предыдущих версиях Windows с несколькими заметными дополнениями.

Схема архитектуры отрисовки

На следующей схеме показаны варианты архитектуры отрисовки драйверов принтера версии 4.

Варианты архитектуры отрисовки для драйверов принтера версии 4.

В следующих абзацах описываются роли фильтров IHV на предыдущей схеме, а также приведены рекомендации по разработке функций для работы в этой архитектуре отрисовки.

Файл конфигурации конвейера фильтра печати не изменяется в формате. Рекомендуемое соглашение об именовании: Vv<PDL>-pipelineconfig.xml, где vv является заполнителем кода производителя. Пример fapcl6-pipelineconfig.xml. Все файлы конфигурации конвейера печати должны заканчиваться –pipelineconfig.xml для обеспечения совместимости с классическими приложениями Windows, которые печатают XPS.

Фильтр отрисовки IHV

Этот фильтр завершает отрисовку из XPS в выходные данные PDL устройства. При необходимости он может использовать службу растеризации XPS или стороннюю службу RIP. Ниже приведены некоторые рекомендации по проектированию фильтров отрисовки.

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

Рекомендуемый тип вывода: IPrintWriteStream. После завершения этого фильтра PDL устройства должен выводиться в виде потока.

Рекомендуемое соглашение об именовании: используйте VV<PDL>.dll. Где vv — это заполнитель кода производителя. Пример: faps.dll для отрисовщика PostScript, предоставленного Fabrikam.

Устройства, которые могут использовать XPS в качестве PDL, могут поддерживаться без фильтров отрисовки. Однако для некоторых устройств может потребоваться PrintTickets, которые не работают хорошо с стандартным пользовательским интерфейсом Майкрософт. В этих случаях корпорация Майкрософт рекомендует преобразовать в совместимый с устройством PrintTicket фильтр отрисовки XPS. Это обеспечивает оптимальную совместимость со стандартным пользовательским интерфейсом и устройствами.

Фильтр компонентов IHV

Фильтры функций IHV позволяют обрабатывать такие функции, как N-up, подложка или переупорядочение страниц. Использование фильтров функций — удобный способ добавления функций в драйвер без изменения базовой отрисовки PDL. Ниже приведены некоторые рекомендации по проектированию таких фильтров функций.

Рекомендуемый тип входных данных: IXpsDocumentProvider.

Рекомендуемый тип вывода: IXpsDocumentConsumer.

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

Управление цветами

Управление цветами поддерживается в драйверах печати версии 4. Драйверы должны включать соответствующие цветовые профили windows (WCS) или профили цвета международного консорциума цветов (ICC). Драйверы печати версии 4 также могут использовать контейнер свойств драйвера для таблиц цветов для конкретных устройств.

Отрисовка драйвера принтера версии 4

Цветовая система Windows