Модули конфигурации на основе файлов GPD или PPD
Внимание
Современная платформа печати — это предпочтительный способ взаимодействия с принтерами Windows. Рекомендуется использовать драйвер класса "Входящие" Microsoft IPP вместе с приложениями поддержки печати (PSA), чтобы настроить возможности печати в Windows 10 и 11 для разработки устройств принтера.
Дополнительные сведения см. в статье "Современная платформа печати" и руководство по проектированию приложений поддержки печати.
Для Windows Vista файлы GPD и PPD содержат сопоставление схемы печати и новые записи, относящиеся к драйверам печати XPSDrv. Эти изменения применяются к файлам GPD и PPD, которые можно использовать для создания модулей конфигурации только для GPD или PPD и модулей конфигурации для подключаемых модулей драйвера печати Unidrv или Pscript5.
Записи, относящиеся к XPSDrv и PPD
Чтобы создать модуль конфигурации драйвера печати версии 3 для драйвера печати XPSDrv с помощью GPD или PPD-файла, необходимо выполнить одно из следующих действий:
Создайте или измените файл GPD или PPD. Файл должен содержать ключевые слова конфигурации, описывающие функции, поддерживаемые принтером. Стандартные ключевые слова GPD или PPD автоматически сопоставляются с общедоступными ключевыми словами схемы печати, но по умолчанию нестандартные ключевые слова сопоставляются с частным пространством имен.
Включите файл Msxpsinc.gpd, если вы создаете GPD-файл или файл Msxpsinc.ppd, если вы создаете PPD-файл. Эти файлы включают следующие ключевые слова, которые указывают на то, что полученный файл конфигурации будет частью драйвера печати XPSDrv.
Для msxpsinc.gpd он содержит следующее:
IsXPSDriver?: TRUE
Для msxpsinc.ppd он содержит следующее:
*MSIsXPSDriver: True
Включение msxpsinc.gpd или msxpsinc.ppd-файла — это предпочтительный подход, а не добавление этих атрибутов в GPD или PPD-файл. Корпорация Майкрософт может добавить будущие атрибуты для драйверов XPSDrv в соответствующий файл включения. Если корпорация Майкрософт добавляет новые атрибуты в файл включения и используете файл включения в GPD или PPD-файл, вам не потребуется изменить GPD или PPD-файл драйвера печати.
Корневые файлы GPD или PPD (которые указаны в INF-файле в качестве драйвера DataFile
) для всех драйверов На основе драйвера XPSDrv или PScript5 должны содержать соответствующий файл Msxpsinc.gpd или Msxpsinc.ppd.
Например, для Model-foo.gpd включите:
*Include: "msxpsinc.gpd"
Для Model-foo.ppd включите:
*Include: "msxpinc.ppd"
Сопоставление схемы печати
Сопоставление схемы печати — это функция модулей конфигурации Unidrv и PScript5, которые переводят ключевые слова GPD и PPD в эквивалентные общедоступные ключевые слова схемы печати. По умолчанию все стандартные ключевые слова GPD и PPD сопоставляются со своими эквивалентными общедоступными ключевыми словами схемы печати. Однако нестандартные ключевые слова в файле GPD или PPD сопоставляются с частным пространством имен для конкретного устройства по умолчанию. Это сопоставление можно улучшить, выполнив одно или оба из следующих действий:
Указание частного пространства имен для нестандартных ключевых слов.
Связывание нестандартных ключевых слов feature и Option в файле GPD или PPD со своими эквивалентными ключевыми словами из общедоступной схемы печати в GPD или PPD-файле. Эта связь позволяет модулю конфигурации создавать данные PrintTicket и PrintCapabilities как общедоступные функции схемы печати.
Пример файла GPD
В следующем примере кода показан GPD-файл, иллюстрирующий записи и ключевые слова для создания модуля конфигурации версии 3 для драйвера печати XPSDrv.
*%
*% Copyright (c) 2004 - 2006 Microsoft Corporation
*% All Rights Reserved.
*%
*GPDFileVersion: "1.0"
*GPDSpecVersion: "1.0"
*GPDFileName: "plugfest.gpd"
*Include: "StdNames.gpd"
*%
*% Include XPSDrv include file
*%
*Include: "MSXpsInc.gpd"
*ModelName: "Microsoft XPS Passthrough Driver Sample"
*MasterUnits: PAIR(1200, 1200)
*ResourceDLL: "unires.dll"
*PrinterType: PAGE
*MaxCopies: 1
*%
*% IHV Private Namespace
*%
*PrintSchemaPrivateNamespaceURI:"https://www.ihv.com/schema/2006"
*%
*% IHV Private Feature
*%
*Feature: IHVStapling {
*PrintSchemaKeywordMap: "JobStapleAllDocuments"
*Option: Enabled {
*PrintSchemaKeywordMap: "StapleTopLeft" }
*Option: Disabled {
*PrintSchemaKeywordMap: "None" }
}