Современная платформа печати — это предпочтительный способ взаимодействия с принтерами Windows. Рекомендуется использовать драйвер класса "Входящие" Microsoft IPP вместе с приложениями поддержки печати (PSA), чтобы настроить возможности печати в Windows 10 и 11 для разработки устройств принтера.
Дополнительные сведения см. в статье "Современная платформа печати" и руководство по проектированию приложений поддержки печати.
Манифест драйвера печати версии 4 — это текстовый файл, содержащий все директивы установки для конкретного принтера. Манифест драйвера печати версии 4 используется с INF-файлом драйвера печати версии 4 в рамках настройки драйвера печати для конкретного принтера версии 4.
Вызывает включение всех файлов из определенного драйвера класса с помощью имени драйвера и понятного имени устройства и его GUID в качестве ключа. Это механизм связывания драйвера printclass с определенным драйвером модели.
Директива RequiredClass не может использоваться драйвером класса. При использовании RequiredClass следует избегать конфликтов имен файлов между драйвером принтера и драйвером класса печати, с которым вы связываетесь.
Хотя файлы с аналогичными именами не перезаписывают друг друга, во время устранения неполадок может быть трудно различать файл пакета драйвера класса и файл от драйвера принтера версии 4.
Пример:
RequiredClass= "Драйвер класса Fabrikam PCL5e",(9343720D-B67E-4451-B93F-6F721C439771)
DriverFile
Это указывает на двоичный файл отрисовки. Mxdwdrv используется по умолчанию, но драйверы классов могут также указывать unidrv.dll или pscript5.dll. Это функционально идентично той же директиве в INF версии 3.
Можно задать только в драйвере класса. Допустимые варианты : unidrv.dll или pscript5.dll. Драйверы печати версии 4 наследуются от RequiredClass или по умолчанию mxdwdrv.dll
DriverFile=unidrv.dll
DataFile
Это определяет основной GPD или PPD для этого драйвера. Это функционально идентично той же директиве в INF версии 3.
В Windows 10 драйверы печати версии 4 могут продолжать указывать GPD или PPD DataFile, однако они также могут описать DataFile, который находится в формате PrintDeviceCapabilities.
Обязательный.
Примеры:
DataFile=FAPDL.gpd DataFile=FAPDL.xml
DataFileType
DataFileType должен использоваться при описании файла PrintDeviceCapabilities в качестве DataFile, а также может использоваться с GPD или PPD-файлом DataFile.
Используется для указания необязательных атрибутов, связанных с драйвером.
NotShareable: этот флаг указывает, что драйвер недоступен. Это подходит для виртуальных драйверов, таких как microsoft XPS Document Writer.
SoftResetOnJobCancellation: этот флаг указывает, что устройство требует обратимого сброса USB (IOCTL_USBPRINT_SOFT_RESET) при отмене задания печати. ArchiveEnabled Драйвер версии 4 использует этот флаг для запроса архива, оптимизированного для XPS, в качестве файла spool.
Это уникальный идентификатор, описывающий драйвер печати. Если два драйвера указывают один и тот же PrinterDriverID, то они должны быть совместимы для совместного использования и поддержки одного и того же расширения принтера.
Обязательный.
PrinterDriverID= {guid}
PropertyBag
Указывает контейнер свойств драйвера для этого драйвера. Это скомпилированный файл, созданный DriverPropertyBagTool.exe или Visual Studio.
Нет.
PropertyBag= FAProperty.dpb
ResourceFile
Определяет имя библиотеки DLL строкового ресурса драйвера.
В Windows 10 драйверы могут указывать ResourceFile с помощью формата RESX.
Нет.
Примеры:
ResourceFile= FARC.dll
ConstraintScript
Определяет имя файла ограничения JavaScript драйвера.
Нет.
ConstraintScript= FAConst.js
DriverCategory
Определяет категорию устройства между одним из нескольких вариантов. Допустимые параметры приведены следующим образом: PrintFax.Факс PrintFax.Printer PrintFax.Printer.3D PrintFax.Printer.File PrintFax.Printer.Service PrintFax.Printer.Virtual
Обязательный.
DriverCategory= PrintFax.Printer
Дополнительные сведения о других категориях драйверов см. в записях INF-файла принтера.
PrinterExtensionUrl
Указывает URL-адрес для пользователя, чтобы получить копию приложения расширения принтера. Используется в совместном использовании принтера.
Указывает файл сопоставления Devmode. Это XML-файл, используемый с преобразованием PrintTicket в DEVMODE в коде JavaScript.
Нет.
DevModeMap= fadmmap.xml
EventFile
Указывает XML-файл события драйвера.
Нет.
EventFile= faevents.xml
QueueProperties
Задает формат контейнера свойств очереди. Это XML-файл и не должен быть скомпилирован.
Нет.
QueueProperties= faQueueProps.xml
BidiUSBStatusInterface
Указывает список аппаратных идентификаторов, которые соответствуют одному или нескольким интерфейсам устройств, которые будут использоваться для обмена данными ЧЕРЕЗ USB Bidi.
Нет, но следует поддерживать только в том случае, если состояние выполняется через USB-интерфейс, который не является интерфейсом печати.
Эта директива указывает область контейнера свойств пользователя в качестве очереди или производителя. Если эта директива опущена, очередь — это значение по умолчанию. Допустимые параметры для этой директивы:
Очередь: это конфигурация по умолчанию, и она соответствует поведению Windows 8. Производитель: все очереди, использующие ту же строку производителя в INF, используют один и тот же контейнер свойств пользователя.
Нет.
UserPropertyBagScope= Производитель
RetrievePrintDeviceCapabilitiesFromDevice
Драйверы версии 4 могут указывать, что они должны получить файл PrintDeviceCapabilities из принтеров WS-Print версии 2.0, если они задают файл PrintDeviceCapabilities в качестве файла DataFile драйвера и DataFileType, также указывает, что DataFile имеет тип MIME "application/vnd.ms-PrintDeviceCapabilities+xml".
Допустимые параметры:
True: позволяет локальному файлу DataFile драйвера заменить файл PrintDeviceCapabilities с устройства.
False: локальный файл DataFile драйвера не будет заменен файлом PrintDeviceCapabilities с устройства.
Если этот директива не указана, значение по умолчанию равно false.
Нет.
Пример:
RetrievePrintDeviceCapabilitiesFromDevice= true
Раздел BidiFiles
Раздел BidiFiles используется для определения файлов расширений Bidi. Он идентичен формату Windows 7 для TCP и WSD. Ключевые слова USB являются новыми.
В следующей таблице показаны директивы, используемые в разделе BidiFiles.
Директива
Ограничения
Использование
BidiSPMFile Это определяет файл расширения Bidi для принтера на основе TCP/IP.
Нет.
BidiSPMFile=FaBidiSPM.xml
BidiWSDFile Это определяет файл расширения Bidi для принтера на основе WSD.
Нет.
BidiWSDFile=FABidiWSD.xml
BidiUSBFile Это определяет расширение Bidi для USB.
Нет.
BidiUSBFile=FABidiUSB.xml
BidiUSBJSFile Это определяет расширение JavaScript для USB.
Нет.
BidiUSBJSFile=FABidiUSBJS.js
Раздел DriverRender
В следующей таблице показаны директивы, используемые в разделе DriverRender.
Директива
Ограничения
Использование
PageOutputQuality. [OptionName] Изменяет сжатие изображений на основе значения задания PrintTicket для PageOutputQuality
OptionName должен быть именем, указанным в стандартном пространстве имен PrintSchema.
XpsFormat Изменяет формат XPS, созданный системой печати для этого драйвера. Можно указать несколько значений, а порядок представляет предпочтения драйвера.
Недоступно для использования в драйверах классов, использующих отрисовку Unidrv/PScript.
XpsFormat=XPS
XpsFormat=OpenXPS
XPSFormat=OpenXPS,XPS
XPSFormat=XPS,OpenXPS
OutputFormat Директива OutputFormat описывает один PDL,который создается этим драйвером с помощью типа MIME. Эти сведения используются во время операции CreateJob или CreateJob2 для принтеров WSD.
Нет.
Допустимые типы использования включают:
OutputFormat= "application/oxps"
OutputFormat= "application/vnd.ms-xpsdocument"
OutputFormat= "image/pwg-raster"
OutputFormat= "application/vnd.ms-3mfdocument"
Здесь также можно указать любой другой допустимый тип MIME.
Ключевое слово MxdcImageType для директивы PageOutputQuality имеет следующие допустимые значения:
Значение MxdcImageType
MxdcImageType.JPEGHigh JPEG с высоким сжатием (небольшие файлы)
MxdcImageType.JPEGMedium Среднее сжатие JPEG
MxdcImageType.JPEGLow Низкое сжатие JPEG
MxdcImageType.PNG Тип ФАЙЛА PNG (крупнейшие файлы)
Раздел FileSave
Этот раздел поддерживает сценарий сохранения файлов. Если драйвер печати версии 4 установлен для нового типа порта PORTPROMPT, этот раздел указывает расширения файлов, отображаемые в окне Common File , а также указывает локализованные строки ресурсов, поддерживающие расширения и диалоговое окно.
Директива
Ограничения
Использование
<FileExtensionName> Эта директива описывает файл FileExtension, который будет использоваться при сохранении файла из этого драйвера с помощью порта PORTPROMPT. Это значение является идентификатором ресурса из resourceFile драйвера. Только для XPS и OXPS может быть указан идентификатор ресурса 0, а средство spooler печати будет использовать внутренние ресурсы для этих ресурсов.
Нет.
<FileExtensionName>= <resourceID> Xps=1234
SaveAsTitle Эта директива описывает заголовок, используемый в диалоговом окне "Сохранить файл". Это значение является идентификатором ресурса из resourceFile драйвера.
Нет.
SaveAsTitle= <resourceID> SaveAsTitle=4321
Раздел PrinterExtensions
В разделе PrinterExtensions указывается расширение принтера и поддерживаемые режимы вызова. Для обоих этих записей приложение автоматически будет зарегистрировано в системе печати. Кроме того, приложение настроено с двумя разными параметрами: PrinterDriverID и ReasonID в этом порядке. В результате каждая запись должна использовать другой GUID PrinterExtensionID.
В следующей таблице показаны директивы, используемые в разделе PrinterExtensions.
Директива
Ограничения
Использование
DriverEvent Обслуживание приложения в режиме DriverEvent.
Нет.
DriverEvent= app.exe,{extensionID GUID}
PrintPreferences Обслуживание приложения в режиме PrintPreferences.
Нет.
PrintPreferences= app.exe, {extensionID GUID}
Ниже приведен пример манифеста драйвера печати версии 4.