Изменения описания функций на основе GPD/PPD
Внимание
Современная платформа печати — это предпочтительный способ взаимодействия с принтерами Windows. Рекомендуется использовать драйвер класса "Входящие" Microsoft IPP вместе с приложениями поддержки печати (PSA), чтобы настроить возможности печати в Windows 10 и 11 для разработки устройств принтера.
Дополнительные сведения см. в статье "Современная платформа печати" и руководство по проектированию приложений поддержки печати.
Драйвер Microsoft XPSDrv Unidrv/PScript5 не содержит жестко закодированных функций Unidrv/PScript5. Необходимо указать каждую функцию, параметр и ограничение в файлах GPD или PPD, если основной модуль конфигурации драйвера должен обрабатывать функцию, параметр или ограничение. Вы по-прежнему можете реализовать подключаемые модули конфигурации, обеспечивающие поддержку функций, отличных от GPD или не PPD, параметров или ограничений.
Корневой GPD или PPD-файл (указанный в INF-файле в качестве файла DataFile драйвера) — это то, что будет анализировать основной модуль конфигурации драйвера. Этот корневой файл GPD или PPD может включать другие файлы GPD или PPD, чтобы обеспечить модульную структуру GPD или PPD-файлов. Помимо включения
Файлы Msxpsinc.gpd и Msxpsinc.ppd можно решить, как создать файлы GPD и PPD для конвейеров фильтров. Рекомендуется связать фильтры с GPD или PPD-файлами, чтобы максимально увеличить возможности повторного использования фильтров.
В следующем примере кода показан пример GPD для указания функции печати обратного порядка, которую фильтр поддерживает в конвейере фильтров на основе Unidrv XPSDrv:
*Feature: ReverseOrderPrinting
{
*PrintSchemaKeywordMap: "JobPageOrder"
*Option: FrontToBack
{
*PrintSchemaKeywordMap: "Standard"
}
*Option: BackToFront
{
*PrintSchemaKeywordMap: "Reverse"
}
}
В предыдущем примере пользовательская функция GPD "ReverseOrderPrinting" определена с двумя настраиваемыми параметрами: FrontToBack и BackToFront. В примере используется ключевое слово PrintSchemaKeywordMap для сопоставления пользовательской функции или параметра GPD с общедоступными ключевыми словами схемы печати.
В следующем примере кода показан пример PPD, указывающий функцию ориентации страницы, которую фильтр поддерживает в конвейере фильтров XPSDrv на основе PScript5.
*OpenUI *PageOrientation: PickOne
*DefaultPageOrientation: Portrait
*PageOrientation Portrait: ""
*PageOrientation Landscape: ""
*PageOrientation RotatedLandscape: ""
*CloseUI: *PageOrientation
*MSPrintSchemaKeywordMap: PageOrientation *PageOrientation
*MSPrintSchemaKeywordMap: PageOrientation Portrait *PageOrientation Portrait
*MSPrintSchemaKeywordMap: PageOrientation Landscape *PageOrientation Landscape
*MSPrintSchemaKeywordMap: PageOrientation ReverseLandscape *PageOrientation RotatedLandscape
В предыдущем примере настраиваемая функция PPD с тремя настраиваемыми параметрами определяется для указания возможности фильтра поддерживать три стандартных параметра pageOrientation схемы печати.
Используя ключевое слово PrintSchemaKeywordMap или MSPrintSchemaKeywordMap , эти пользовательские функции или параметры PPD будут правильно представлены в XML PrintCapabilities или PrintTickets с помощью сопоставленных открытых ключевых слов схемы печати.
В структуре DEVMODE основного драйвера параметры для этих пользовательских функций GPD или PPD хранятся в массиве параметров.
Для Windows 7 функция MxdcGetPDEVAdjustment имеет новые параметры для поворота ландшафта. Дополнительные сведения см. в разделе MxdcXDCGetPDEVAdjustment.