Partilhar via


Suporte de driver para impressão protegida

Importante

A moderna plataforma de impressão é o meio preferido do Windows para comunicar com as impressoras. Recomendamos que utilize o controlador de classe da caixa de entrada IPP da Microsoft, juntamente com as Aplicações de Suporte de Impressão (PSA), para personalizar a experiência de impressão no Windows 10 e 11 para o desenvolvimento de dispositivos de impressora.

Para obter mais informações, consulte Guia de design do aplicativo de suporte de impressão v1 e v2.

O Windows 8.1 inclui suporte para impressão protegida, que permite aos utilizadores especificar um número de identificação pessoal (PIN) que é depois utilizado na impressora, antes de o trabalho ser impresso.

O Windows 8.1 também permite que os administradores especifiquem um PIN padrão para reduzir o consumo de papel desperdiçado relacionado ao conteúdo impresso, mas nunca recuperado pelo usuário. Este tópico explica as alterações que tornaram possível fornecer suporte para impressão protegida e também descreve as etapas necessárias para adicionar esse suporte a um driver de impressão v4.

O Windows 8.1 introduziu novas palavras-chave do esquema de impressão que você pode usar em documentos PrintTicket e PrintCapabilities para especificar a impressão protegida. Essas palavras-chave são definidas no novo namespace printschemakeywordsv11 . Aqui está o URI para este namespace:

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

Para ver como especificar a impressão protegida em um arquivo PrintTicket, consulte Exemplo de arquivo PrintTicket para impressão de PIN. E para ver como especificar a impressão protegida em um arquivo PrintCapabilities, consulte Sample PrintCapabilities File for PIN Printing.

As especificações podem ser descarregadas aqui:

Especificação do esquema de impressão 1.1

Especificação do esquema de impressão 2.0

Alterações de Controlador

Se você estiver trabalhando com um driver v4, será necessário fazer alterações no arquivo de descrição genérica da impressora (GPD) ou PostScript (PPD) e outros arquivos de código relacionados ao driver. Os arquivos de código relacionados ao driver afetados pelas alterações podem ser categorizados da seguinte forma:

  • Arquivo de configuração do driver (GPD ou PPD)
  • Filtros de renderização XPS
  • Extensões de impressora
  • Aplicativos de dispositivo UWP

ou pode usar um driver v3 com as palavras-chave Print Schema para impressão protegida, desde que você faça as alterações necessárias no seu código PTProvider. Mas os passos para fazer essas mudanças estão fora do escopo deste tópico.

As seções a seguir fornecem mais informações sobre como implementar alterações que permitirão que seu driver v4 ofereça suporte à impressão protegida.

Arquivo de configuração do driver

Você indica suporte para impressão protegida no DataFile para seu driver de impressão v4. O DataFile é o ficheiro GPD ou PPD, conforme o utilizado pelo seu driver. Você deve especificar as diretivas MinLength e MaxLength para habilitar a impressão protegida. As tabelas a seguir descrevem as palavras-chave relevantes que você deve adicionar ao arquivo GPD ou PPD do driver.

O que adicionar a um arquivo GPD

Se o driver usa um arquivo GPD, adicione as seguintes novas palavras-chave usando esta sintaxe:

Palavra-chave Descrição Nível Valor permitido Exemplo
*JobPasscodeMinLength Comprimento mínimo da cadeia numérica PIN suportada.

Este valor deve ser pelo menos 4 e não superior a 15.
Raiz Qualquer valor numérico GPD *JobPasscodeMinLength: 4
*JobPasscodeMaxLength Comprimento máximo da cadeia numérica PIN suportada.

Este valor deve ser pelo menos 4 e não superior a 15. Ele deve ser maior ou igual ao valor *JobPasscodeMinLength .
Raiz Qualquer valor numérico GPD *JobPasscodeMaxLength: 9

O que adicionar a um arquivo PPD

Se o driver usa um arquivo PPD, adicione as seguintes novas palavras-chave usando esta sintaxe:

Palavra-chave Descrição Nível Valor permitido Exemplo
MSJobPasscodeMinLength Comprimento mínimo da cadeia numérica PIN suportada.

Este valor deve ser pelo menos 4 e não superior a 15.
Raiz "int" (QuotedValue)

Em outras palavras, o valor inteiro deve ser expresso entre aspas.
*MSJobPasscodeMinLength: "4"
MSJobPasscodeMaxLength Comprimento máximo da cadeia numérica PIN suportada.

Este valor deve ser pelo menos 4 e não superior a 15. Ele deve ser maior ou igual ao valor *MSJobPasscodeMinLength .
Raiz "int" (QuotedValue)

Em outras palavras, o valor inteiro deve ser expresso entre aspas.
*MSJobPasscodeMaxLength: "9"

Especificando restrições de hardware

Se você tiver um dispositivo que não suporta impressão de PIN sem hardware instalável, como um disco rígido, especifique essas restrições usando o arquivo GPD ou PPD. Para fazer isso, você deve editar seu arquivo GPD ou PPD para mostrar o recurso JobPasscode e ambas as opções de JobPasscode (On e Off). As opções ON/OFF devem definir PrintSchemaKeywordMap ou MSPrintSchemaKeywordMap para os valores apropriados.

Restrições de software

Estes não são suportados.

Restrições de hardware

A tabela a seguir mostra os valores válidos para as palavras-chave que você deve usar se quiser especificar o suporte para impressão protegida e restrições de hardware.

Tipo de ficheiro Palavra-chave Valores válidos GPD *Funcionalidade JobCódigo de acesso *Opção

  • DESLIGADO
  • LIGADO

*PrintSchemaKeywordMap

  • "Desligado"
  • "Ligado"
  • "JobPasscode"

PPD *Feature JobPasscode *Configuração

  • DESLIGADO
  • LIGADO

*MSPrintSchemaKeywordMap

  • "Desligado"
  • "Ligado"
  • "JobPasscode"

Exemplos de ficheiros GPD e PPD

Aqui está um exemplo de um arquivo GPD especificando JobPasscode com uma restrição de hardware instalável.

*%
*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
    }
}

Você deve usar a palavra-chave *ConcealFromUI e defini-la como TRUE para evitar que a opção de impressão protegida seja mostrada involuntariamente. Consulte o exemplo de arquivo GPD anterior.

Aqui está um exemplo de um arquivo PPD especificando JobPasscode com uma restrição de hardware instalável.

*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

Como você pode ver no exemplo de arquivo PPD anterior, a palavra-chave *UIConstraints indica a restrição de hardware.

O sistema operacional Windows exibe automaticamente cadeias de caracteres específicas da localidade para o recurso de impressão protegida e suas opções associadas. Não é possível especificar um novo nome localizado para esse recurso ou suas opções.

Filtros de renderização XPS

Os drivers para dispositivos existentes precisarão de alterações em seu código de renderização para que esses drivers possam converter a representação PrintTicket do valor do PIN em um valor que o dispositivo compreenda. Em geral, isso exigirá a adição de código a um filtro de renderização XPS existente ou a adição de um novo filtro de renderização XPS para suportar impressão protegida. Os drivers que usam os filtros de renderização XPS padrão para PCL6 e PostScript devem desenvolver um novo filtro de fluxo para a sua pipeline de filtro. Este novo filtro de fluxo injetará um comando apropriado no fluxo PDL pré-renderizado em seu pipeline de filtro, depois que o fluxo passar pelo filtro padrão.

A Microsoft recomenda que, para minimizar os requisitos de renderização no PC cliente ou servidor, quaisquer novos dispositivos que suportem XPS ou OpenXPS devem suportar as novas palavras-chave sem usar transformações adicionais.

Extensões de impressora

As extensões de impressora devem ser capazes de exibir um controle para impressão protegida em sua interface do usuário de preferências de impressão. Isso garante que os usuários de aplicativos da área de trabalho possam configurar o recurso de impressão protegida ao usar a extensão da impressora. A Microsoft está fazendo alterações que permitirão que a família de APIs IPrintSchemaTicket ofereça suporte à impressão protegida de extensões de impressora.

Aplicativos de dispositivo UWP

A Microsoft também está fazendo alterações para permitir que a família de APIs IPrintSchemaTicket funcione com aplicativos de dispositivo UWP para exibir um controle para impressão protegida em sua interface do usuário de preferências de impressão.