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


Совместимость билетов с приложениями Win 32

Внимание

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

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

При использовании Print Tickets в приложениях на основе Microsoft Win32 и драйверах печати на основе GDI необходимо учитывать следующие сценарии совместимости:

Приложения на основе Win32, которые печатаются в драйверах печати XPSDrv
Когда приложение на основе Win32, которое не знает о документах print Ticket, печатается в драйвере печати XPSDrv, модуль преобразования GDI to XPS создает файл спуола XPS из вызовов DDI, которые делает приложение на основе Win32. Поддержка печати Windows Vista также создает билеты на печать, основанные на структурах DEVMODE, которые приложение на основе Win32 использует и вставляет их в файл spol XPS, созданный для документа. Преобразование GDI-to-XPS может преобразовать только общедоступную часть структуры DEVMODE. Преобразование внедряет частный DEVMODE в билет печати в виде двоичного большого объекта (BLOB), используя соответствующую двоичную кодировку XML. Двоичный BLOB-объект можно восстановить в частной части структуры DEVMODEW из билета печати в преобразовании билета DEVMODEW-to-Print Ticket.

Для драйвера печати XPSDrv документ, отправляемый из приложения на основе Win32, отличается от документа, отправленного из приложения Windows Presentation Foundation (WPF), так как оба документа копируются в формате файла XPS.

Приложения WPF, которые печатаются в драйверах печати на основе GDI
Когда приложение WPF печатает документ, содержащий билеты на печать в драйвер печати на основе GDI, который не поддерживает билеты на печать, поддержку печати Windows Vista преобразует документ XPS, который приложение WPF передает в ФАЙЛ EMF и преобразует каждый билет печати в структуру DEVMODE.

В драйвер печати GDI задание печати из приложения WPF отличается от задания печати, которое отправляет приложение Win32.