Расширяемая архитектура
Внимание
Современная платформа печати — это предпочтительный способ взаимодействия с принтерами Windows. Рекомендуется использовать драйвер класса "Входящие" Microsoft IPP вместе с приложениями поддержки печати (PSA), чтобы настроить возможности печати в Windows 10 и 11 для разработки устройств принтера.
Дополнительные сведения см. в статье "Современная платформа печати" и руководство по проектированию приложений поддержки печати.
Расширяемость во всей архитектуре упрощает добавление различных функций и возможностей в модульном режиме. Каждый обновленный и новый компонент в пути печати XPS был разработан для обеспечения расширяемости поставщика следующим образом:
Схема печати обеспечивает расширяемость и регулярно обновляется для общедоступного предоставления необходимых возможностей устройств.
Новый конвейер фильтров, используемый драйверами XPSDrv, основан на локальной модульной расширяемой архитектуре, чтобы обеспечить модульную функциональность, которая может действовать в одиночку или в атомарном режиме для создания нужных эффектов.
Конвейер фильтра также построен для поддержки концепций прямого потребления и масштабируемого потребления:
Прямое потребление означает, что устройство может использовать документ XPS или файл spool XPS без помощи узла. Для выходных данных компьютера под управлением Windows необходимо предоставить драйвер XPSDrv, состоящий из модуля конфигурации и конвейера фильтра NULL. Модуль конфигурации представляет устройство и выражает возможности устройства в приложении, но он не обрабатывает файл spool в драйвере. Файл spool XPS поставляется непосредственно на принтер, поэтому принтер затем обрабатывает документ в полном объеме.
Масштабируемое потребление представляет драйвер XPSDrv, который может выполнять некоторую или всю обработку на узле. Вы можете выбрать разделение между узлом и обработкой устройств, чтобы вы могли выполнять компромиссы на основе возможностей устройств, затрат и целевого рынка. С масштабируемым потреблением вы имеете значительную гибкость в реализации XPS.
Чтобы воспользоваться преимуществами пути печати XPS, необходимо указать драйвер XPSDrv. Драйвер XPSDrv — это конвейер фильтра, который предоставляет такие функции драйвера, как N-up, водяной знак и функции отрисовки на основе узла. Обработка графики выполняется в фильтре отрисовки и выполняется на визуальных элементах, представленных в новом формате spool-файла. Этот тип обработки существенно отличается от способа выполнения операций отрисовки с драйверами на основе GDI.
Модульное построение конвейера фильтров предоставляет платформу для разработки фильтров, относящихся к функциям. Вы можете создать конвейер фильтра, состоящий из автономных фильтров. Если эти фильтры содержатся соответствующим образом, разные драйверы и, следовательно, разные конвейеры могут повторно использовать фильтры, чтобы оптимизировать инвестиции в разработку XPSDrv.
Версии операционной системы Windows до Windows Vista требуют, чтобы драйверы принтера имели библиотеку DLL интерфейса принтера для настройки принтера и управления, а также библиотеку DLL графики принтера для обработки и отрисовки фактического содержимого документа для печати. Драйверы принтера для Windows Vista требуют те же функции, что и в предыдущих версиях драйверов принтера. Драйвер XPSDrv взаимодействует с устройствами и приложениями с помощью технологий печати и печати. Необходимо добавить дополнительные интерфейсы, обеспечивающие расширенные функции PrintTicket и возможности печати для печати Windows Vista.