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


Фильтры XPS

Внимание

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

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

Для пути печати XPS фильтры являются основным способом подготовки данных печати драйвера к принтеру. В версиях операционной системы Microsoft Windows до Windows Vista процессоры печати и модули отрисовки работали с фильтрами.

Фильтр XPS — это библиотека DLL, которая экспортирует функции DllGetClassObject и DllCanUnloadNow . Диспетчер конвейера фильтра вызывает эти функции при загрузке и выгрузке библиотеки DLL фильтра XPS. После загрузки библиотеки DLL фильтра диспетчер конвейера фильтров выполняет следующие действия:

Прежде чем выгрузить библиотеку DLL фильтра, диспетчер конвейера фильтров вызывает DllCanUnloadNow.

В некоторых старых фильтрах XPS функция DllGetClassObject получает ссылку на интерфейс IPrintPipelineFilter фильтра вместо интерфейса IClassFactory. Для обратной совместимости диспетчер конвейеров фильтров в Windows Vista и более поздних версиях Windows продолжит поддерживать эти фильтры. Однако для новых проектов фильтров DllGetClassObject должен получить ссылку на интерфейс IClassFactory .

Фильтры XPS делают подсистему печати более надежной, так как фильтры выполняются в процессе, отличном от spooler. Эта песочница защищает от сбоев и позволяет подключаемым модулем выполняться с различными разрешениями безопасности. XPSDrv также позволяет повторно использовать фильтры между семействами принтеров, чтобы снизить затраты и время разработки.

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

Дополнительные сведения о диспетчере конвейеров фильтров см. в статье XPSDrv Render Module.

Дополнительные сведения о реализации фильтров см. в разделе "Реализация фильтров XPS".

Дополнительные сведения об асинхронных уведомлениях в фильтрах печати см. в асинхронных уведомлениях в фильтрах печати.

Необходимо настроить фильтры с помощью файла конфигурации конвейера фильтра.

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

В Windows 7 фильтры XPS могут использовать службу растеризации XPS для преобразования фиксированных страниц в документы XPS в растровые изображения.

Сведения о том, как Windows использует ускорение GPU для растризации XPS, см. в дереве принятия решений об использовании GPU XPSRas.