Архитектура отрисовки драйвера принтера версии 4
Внимание
Современная платформа печати — это предпочтительный способ взаимодействия с принтерами Windows. Рекомендуется использовать драйвер класса "Входящие" Microsoft IPP вместе с приложениями поддержки печати (PSA), чтобы настроить возможности печати в Windows 10 и 11 для разработки устройств принтера.
Дополнительные сведения см. в статье "Современная платформа печати" и руководство по проектированию приложений поддержки печати.
Архитектура отрисовки для модели драйвера принтера версии 4 совпадает с архитектурой XPSDrv, а конвейер фильтра XPS также следует тому же дизайну, который использовался в предыдущих версиях Windows с несколькими заметными дополнениями.
Схема архитектуры отрисовки
На следующей схеме показаны варианты архитектуры отрисовки драйверов принтера версии 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 также могут использовать контейнер свойств драйвера для таблиц цветов для конкретных устройств.