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


Модули конфигурации на основе файлов 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"  }
}