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


Поддержка драйверов для защищенной печати

Внимание

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

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

Windows 8.1 включает поддержку защищенной печати, которая позволяет пользователям указывать личный идентификационный номер (ПИН-код), который затем используется на принтере до печати задания.

Windows 8.1 также позволяет администраторам указывать ПИН-код по умолчанию, чтобы уменьшить потребление расточительной бумаги, связанное с содержимым, которое печатается, но никогда не извлекается пользователем. В этом разделе описываются изменения, которые позволили обеспечить поддержку защищенной печати, а также описывает шаги, необходимые для добавления этой поддержки в драйвер печати версии 4.

Windows 8.1 появились новые ключевые слова схемы печати, которые можно использовать в документах PrintTicket и PrintCapabilities для указания защищенной печати. Эти ключевые слова определены в новом пространстве имен printschemakeywordsv11 . Ниже приведен универсальный код ресурса (URI) для этого пространства имен:

https://schemas.microsoft.com/windows/2013/05/printing/printschemakeywordsv11

Чтобы узнать, как указать защищенную печать в файле PrintTicket, см. пример файла PrintTicket для печати ПИН-кода. Чтобы узнать, как указать защищенную печать в файле PrintCapabilities, см . пример файла PrintCapabilities для печати ПИН-кода.

Спецификации можно скачать здесь:

Спецификация схемы печати 1.1

Спецификация схемы печати 2.0

Изменения драйвера

Если вы работаете с драйвером версии 4, необходимо внести изменения в универсальный файл описания принтера (GPD) или описания принтера PostScript (PPD) и других файлов кода, связанных с драйвером. Файлы кода, связанные с драйвером, затронутые изменениями, можно классифицировать следующим образом:

  • Файл конфигурации драйвера (GPD или PPD)
  • Фильтры отрисовки XPS
  • Расширения принтера
  • Приложения устройств UWP

ou может использовать драйвер версии 3 с ключевыми словами схемы печати для защищенной печати, если вы вносите необходимые изменения в коде PTProvider. Но шаги по внесению этих изменений находятся вне области этой статьи.

В следующих разделах приведены дополнительные сведения о реализации изменений, позволяющих драйверу версии 4 поддерживать защищенную печать.

Файл конфигурации драйвера

Вы указываете поддержку защищенной печати в DataFile для драйвера печати версии 4. DataFile — это GPD или PPD-файл, независимо от того, какой из них использует ваш драйвер. Для включения защищенной печати необходимо указать директивы MinLength и MaxLength. В следующих таблицах описываются соответствующие ключевые слова, которые необходимо добавить в файл GPD или PPD драйвера.

Что добавить в GPD-файл

Если драйвер использует GPD-файл, добавьте следующие новые ключевые слова с помощью этого синтаксиса:

Ключевое слово Description Уровень Допустимое значение Пример
*JobPasscodeMinLength Минимальная длина поддерживаемой числовой строки ПИН-кода.

Это значение должно быть не менее 4 и не превышает 15.
Корневой Любое числовое значение GPD *JobPasscodeMinLength: 4
*JobPasscodeMaxLength Максимальная длина поддерживаемой числовой строки ПИН-кода.

Это значение должно быть не менее 4 и не превышает 15. Оно должно быть больше или равно значению *JobPasscodeMinLength .
Корневой Любое числовое значение GPD *JobPasscodeMaxLength: 9

Что добавить в PPD-файл

Если драйвер использует PPD-файл, добавьте следующие новые ключевые слова с помощью этого синтаксиса:

Ключевое слово Description Уровень Допустимое значение Пример
MSJobPasscodeMinLength Минимальная длина поддерживаемой числовой строки ПИН-кода.

Это значение должно быть не менее 4 и не превышает 15.
Корневой Int (QuotedValue)

Другими словами, целочисленное значение должно быть выражено в кавычках.
*MSJobPasscodeMinLength: "4"
MSJobPasscodeMaxLength Максимальная длина поддерживаемой числовой строки ПИН-кода.

Это значение должно быть не менее 4 и не превышает 15. Оно должно быть больше или равно значению *MSJobPasscodeMinLength .
Корневой Int (QuotedValue)

Другими словами, целочисленное значение должно быть выражено в кавычках.
*MSJobPasscodeMaxLength: "9"

Указание ограничений оборудования

Если у вас есть устройство, которое не поддерживает печать ПИН-кода без устанавливаемого оборудования, например жесткого диска, укажите эти ограничения с помощью GPD или PPD-файла. Для этого необходимо изменить GPD или PPD-файл, чтобы отобразить функцию JobPasscode и параметры JobPasscode (вкл. и выкл.). Параметры ON/OFF должны задать значение PrintSchemaKeywordMap или MSPrintSchemaKeywordMap соответствующим значениям.

Ограничения программного обеспечения

Они не поддерживаются.

Аппаратные ограничения

В следующей таблице показаны допустимые значения ключевых слов, которые необходимо использовать, если требуется указать поддержку защищенных ограничений печати и оборудования.

Допустимые значения ключевого слова типа файла GPD *Feature JobPasscode *Option

  • ВЫКЛ.
  • DNS

*PrintSchemaKeywordMap

  • "Off"
  • "On"
  • JobPasscode

PPD *Feature JobPasscode *Option

  • ВЫКЛ.
  • DNS

*MSPrintSchemaKeywordMap

  • "Off"
  • "On"
  • JobPasscode

Примеры файлов GPD и PPD

Ниже приведен пример файла GPD, указывающего JobPasscode с ограничением устанавливаемого оборудования.

*%
*GPDSpecVersion: "1.0"
*GPDFileVersion: "1.0"

*Include:        "StdNames.gpd"
*Include:        "MSxpsinc.gpd"
*ResourceDLL:    "unires.dll"

*GPDFileName:    "FAsmpl.gpd"
*ModelName:      "Fabrikam JobPasscode Sample"
*MasterUnits:    PAIR(1200, 1200)
*PrinterType:    PAGE
*MaxCopies:      999

*JobPasscodeMinLength: 4
*JobPasscodeMaxLength: 15

*%******************************************************************************
*%                             JobPasscode
*%******************************************************************************
*Feature: JobPasscode
{
    *Name: "Job Passcode"
    *DefaultOption: OFF
    *ConcealFromUI: TRUE
    *PrintSchemaKeywordMap: "JobPasscode"

    *Option: OFF
    {
     *PrintSchemaKeywordMap: "Off"
        *Name: "Off"
    }

    *Option: ON
    {
     *PrintSchemaKeywordMap: "On"
        *Name: "On"
    }
}

*Feature:PrinterHardDisk
{
    *rcNameID: RESDLL.PCL5ERES.430
    *FeatureType: PRINTER_PROPERTY
    *DefaultOption: FALSE
    *Option: FALSE
    {
     *DisabledFeatures: LIST(JobPasscode)
        *rcNameID: RESDLL.PCL5ERES.444
    }
    *Option: TRUE
    {
        *rcNameID: RESDLL.PCL5ERES.443
    }
}

Необходимо использовать ключевое слово *ConcealFromUI и задать для него значение TRUE, чтобы предотвратить непреднамеренно отображать защищенный параметр печати. См. предыдущий пример файла GPD.

Ниже приведен пример PPD-файла, указывающего JobPasscode с ограничением устанавливаемого оборудования.

*MSJobPasscodeMinLength: "4"
*MSJobPasscodeMaxLength: "15"

*OpenGroup: InstallableOptions/Installable Options

*% ===== Optional Hard Disk =====
*OpenUI *HardDisk/Printer Hard Disk: Boolean
*DefaultHardDisk:  False
*HardDisk False/Not Installed: ""
*HardDisk True/Installed: ""
*CloseUI: *HardDisk

*CloseGroup: InstallableOptions

*% ===== JobPasscode Feature =====
*OpenUI *JobPasscode: PickOne
*DefaultJobPasscode: On
*JobPasscode On: ""
*CloseUI: *JobPasscode

*MSPrintSchemaKeywordMap: JobPasscode  *JobPasscode
*MSPrintSchemaKeywordMap: JobPasscode  On *JobPasscode On

*UIConstraints: *HardDisk False *JobPasscode

Как видно в предыдущем примере PPD-файла, ключевое слово *UIConstraints указывает ограничение оборудования.

Операционная система Windows автоматически отображает строки, относящиеся к языковому стандарту, для защищенной функции печати и связанных с ней параметров. Невозможно указать новое локализованное имя для этой функции или его параметров.

Фильтры отрисовки XPS

Драйверы для существующих устройств потребуют изменений в коде отрисовки, чтобы эти драйверы могли преобразовать представление PIN-кода PrintTicket в значение, которое устройство понимает. Как правило, для этого потребуется добавление кода в существующий фильтр отрисовки XPS или добавление нового фильтра отрисовки XPS для поддержки защищенной печати. Драйверы, использующие стандартные фильтры отрисовки XPS для PCL6 и PostScript, должны разработать новый фильтр потока для конвейера фильтрации. Этот новый фильтр потоков введет соответствующую команду в предварительно отрисованный поток PDL в конвейере фильтров после передачи потока через стандартный фильтр.

Корпорация Майкрософт рекомендует свести к минимуму требования к отрисовке на клиентском или серверном компьютере, все новые устройства, поддерживающие XPS или OpenXPS, должны поддерживать новые ключевые слова без использования дополнительных преобразований.

Расширения принтера

Расширения принтера должны отображать элемент управления для защищенной печати в пользовательском интерфейсе печати. Это гарантирует, что пользователи классических приложений могут настроить защищенную функцию печати при использовании расширения принтера. Корпорация Майкрософт вносит изменения, позволяющие семейству API IPrintSchemaTicket поддерживать защищенную печать от расширений принтера.

Приложения устройств UWP

Корпорация Майкрософт также вносит изменения, чтобы разрешить семейству API IPrintSchemaTicket работать с приложениями устройств UWP для отображения элемента управления для защищенной печати в пользовательском интерфейсе параметров печати.