Compartilhar via


Novos atributos PPD somente no nível raiz para Windows Vista

Importante

A plataforma de impressão moderna é o meio preferencial do Windows para se comunicar com as impressoras. Recomendamos que você use o driver de classe de caixa de entrada IPP da Microsoft juntamente com PSA (Aplicativos de Suporte à Impressão) 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 Plataformade impressão moderna e o Guia de design do aplicativo de suporte de impressão.

A lista a seguir descreve os atributos PPD que são novos a partir do Windows Vista. Para manter a compatibilidade com versões anteriores ao Windows Vista do Windows, você deve colocar esses atributos entre esses atributos com o código a seguir.

*Ifdef: WINNT_60 ... *Endif: WINNT_60 blocks

MSPrintSchemaKeywordMap

O atributo MSPrintSchemaKeywordMap define o mapeamento de uma palavra-chave de recurso PPD para uma palavra-chave de recurso de Esquema de Impressão pública ou um mapeamento de uma palavra-chave de opção PPD de um recurso PPD para uma palavra-chave de opção de Esquema de Impressão pública de um recurso de Esquema de Impressão.

MSPrintSchemaKeywordMap tem dois formatos aceitáveis:

Formato 1

*MSPrintSchemaKeywordMap: PrintSchema_feature_keyword *<PPD_feature_keyword>

Formato 2

*MSPrintSchemaKeywordMap: PrintSchema_feature_keyword PrintSchema_option_keyword *<PPD_feature_keyword> <PPD_option_keyword>

O prefixo de palavra-chave do recurso PPD (que é um asterisco [*]) em ambos os formatos é necessário.

Para o formato 1:

  • A palavra-chave de recurso PPD deve se referir a um recurso PPD que já foi definido no conteúdo do arquivo PPD anterior.

  • Várias definições de *MSPrintSchemaKeywordMap para o mesmo recurso PPD não são permitidas. Se várias definições forem encontradas, apenas a primeira definição será aceita e outras definições serão ignoradas.

Para o formato 2:

  • A definição *MSPrintSchemaKeywordMap para um recurso PPD (usando o formato 1) deve estar presente antes que qualquer definição *MSPrintSchemaKeywordMap para as opções do recurso PPD possa aparecer.

  • Na definição *MSPrintSchemaKeywordMap para uma opção PPD, o mapeamento da palavra-chave de recurso PPD para a palavra-chave de recurso Esquema de Impressão deve ser o mesmo que é definido na definição anterior de *MSPrintSchemaKeywordMap para o recurso PPD (usando o formato 1).

  • A palavra-chave PPD option deve se referir a uma opção do recurso PPD que já foi definida no conteúdo do arquivo PPD anterior.

  • Várias definições de *MSPrintSchemaKeywordMap para a mesma opção PPD de um recurso PPD não são permitidas. Se várias definições forem encontradas, apenas a primeira definição será aceita e outras definições serão ignoradas.

Se uma entrada *MSPrintSchemaKeywordMap violar qualquer uma das regras de formato anteriores, essa entrada será ignorada e você receberá um aviso ppdchecker com informações detalhadas.

*MSPrintSchemaKeywordMap não tem suporte para uso com os seguintes recursos PPD padrão:

*Collate *Duplex *InputSlot *OutputBin *PageSize *Resolution *MediaType Também é importante saber que, se você mapear um recurso para uma palavra-chave Esquema de Impressão que já está sendo usada no arquivo PPD, o documento PrintCapabilities correspondente poderá listar esse recurso mais de uma vez. Várias ocorrências podem ser confusas, portanto, você não deve mapear recursos para palavras-chave do Esquema de Impressão que são usadas no arquivo PPD.

O analisador PPD gera automaticamente a opção FORMSOURCE para o recurso InputBin e a mapeia para a palavra-chave AutoSelect no Esquema de Impressão. Se o arquivo PPD contiver uma opção InputBin que usa o atributo MSPrintSchemaKeywordMap para mapear a opção para uma palavra-chave do Esquema de Impressão, o recurso no Esquema de Impressão conterá uma opção FORMSOURCE no namespace do dispositivo. A Seleção Automática aparecerá no documento PrintCapabilities e se referirá à opção especificada no atributo MSPrintSchemaKeywordMap do arquivo PPD.

O exemplo de código a seguir mostra um exemplo do atributo MSPrintSchemaKeywordMap em um arquivo PPD parcial.

*OpenUI *IHVStapling:PickOne
*DefaultIHVStapling:Disabled
*IHVStapling Enabled:"..."
*IHVStapling Disabled:"..."
*CloseUI: *IHVStapling

*MSPrintSchemaKeywordMap: Staple*IHVStapling
*MSPrintSchemaKeywordMap: StapleOn*IHVStaplingEnabled
*MSPrintSchemaKeywordMap: StapleOff*IHVStaplingDisabled

MSPrintSchemaPrivateNamespaceURI

O atributo MsPrintSchemaPrivateNamespaceURI define o URI de namespace privado que o driver principal deve usar para expor recursos ou opções PPD privadas em PrintTicket ou PrintCapabilities. Esse URI será aplicado a todos os recursos ou opções que não tenham mapeamento explícito (usando a definição *MSPrintSchemaKeywordMap ) no Esquema de Impressão público.

MSPrintSchemaPrivateNamespaceURI usa o formato a seguir.

*MSPPrintSchemaPrivateNamespaceURI: "<URI>"

<URI> representa um PPD QuotedValue. Conforme definido pela especificação PPD, QuotedValue permite subcadeias de caracteres ASCII literais e subcadeias de caracteres hexadecimais.

O arquivo PPD (ou arquivos) de um único modelo de impressora deve ter apenas uma definição de *MSPrintSchemaPrivateNamespaceURI. Se várias definições forem encontradas, apenas a primeira definição será aceita e outras definições serão ignoradas.

O exemplo de código a seguir mostra um exemplo do atributo MsPrintSchemaPrivateNamespaceURI em um arquivo PPD parcial.

*MSPrivateNamespaceURI:  "https://www.ihv.com/schema/2004"

MSIsXPSDriver

O atributo MSIsXPSDriver usa o formato a seguir.

*MSIsXPSDriver:  True | False

Você pode usar o módulo de configuração de driver PScript5 do Windows Vista (Ps5ui.dll) para drivers GDI do Microsoft Win32 e os novos drivers XPSDrv. Para usar o módulo de configuração do driver PScript5 para drivers XPSDrv, o arquivo de dados PPD do driver XPSDrv deve especificar MSIsXPSDriver e definir seu valor como True.

O exemplo de código a seguir mostra um exemplo desse atributo em um arquivo PPD parcial:

*MSIsXPSDriver: True

Para usar o módulo de configuração do driver PScript5 para drivers GDI Win32, você não precisa especificar esse atributo PPD.

MSPrintProcDuplexOptions

O atributo MSPrintProcDuplexOptions usa o formato a seguir.

*MSPrintProcDuplexOptions:  "int"

Este atributo pode ter um dos valores a seguir.

1: Páginas reversas para duplex reverso

2: Suprimir a geração de página em branco extra, se possível

3. As duas opções anteriores

0: nenhuma das opções acima

O exemplo de código a seguir mostra um exemplo de MSPrintProcDuplexOptions em um arquivo PPD parcial.

*MSPrintProcDuplexOptions:  "2" 

Esse atributo controla várias opções de duplexação no processador de impressão.

Se MSPrintProcDuplexOptions for 1, ele controlará se o processador de impressão deve reverter páginas em duplex reverso.

Suponha que você precise imprimir um documento de quatro páginas com n-up = 1 e queira usar a impressão reversa e a impressão duplex. Como você deseja impressão reversa, deseja imprimir a última página antes da primeira página. Como você deseja impressão duplex, deseja imprimir duas páginas em uma única folha de papel. O processador de impressão pode reproduzir as páginas em um dos dois formatos a seguir (em que cada par de números indica as duas páginas que seriam impressas nos dois lados de uma única folha de papel):

  • Formato 1: (4,3),(2,1)

  • Formato 2: (3,4),(1,2)

Antes do Windows Vista, um processador de impressão imprimia as páginas no formato 2 [(3,4),(1,2)]. Mas no Windows Vista e posterior, o formato padrão é o formato 1 [(4,3),(2,1)]. Essa alteração ocorreu porque muitas impressoras têm saída incorreta com o formato 2; ou seja, as páginas impressas não são ordenadas na ordem correta.

Se a sua impressora funcionar corretamente com o formato 1, você não precisará alterar nada para o Windows Vista e posterior. No entanto, se a impressora funcionar incorretamente com o formato 1 e você quiser reverter para o formato 2, adicione o atributo MSPrintProcDuplexOptions com o valor 1.

*MSPrintProcDuplexOptions: "1"

Para o driver PScript anterior ao Windows Vista, se você tiver um processador de impressão anterior ao Windows Vista, o formato 2 será o padrão e você não poderá alterar o comportamento; caso contrário, se você tiver um processador de impressão do Windows Vista, o formato 1 será o padrão e você não poderá alterar o comportamento.

Para o driver PScript do Windows Vista. se você tiver um processador de impressão anterior ao Windows Vista, o formato 2 será o padrão e o atributo PPD será ignorado; caso contrário, se você tiver um processador de impressão do Windows Vista, o formato 1 será o padrão, mas você poderá alterar o formato usando o atributo MSPrintProcDuplexOptions.

Se MSPrintProcDuplexOptions for 2, o processador de impressão suprimirá a geração de páginas em branco em determinados cenários duplex.

Por exemplo, se o trabalho for um trabalho de uma página e o duplex estiver ativado (suponha que n-up = 1), apenas um lado da planilha precisará ser impresso. Atualmente, as impressoras imprimem um lado e, em seguida, geram uma página em branco vazia no verso. (Como o trabalho de impressão foi iniciado com duplex=on, a impressora espera duas páginas antes de ejetar a folha. Se a segunda página não for impressa, algumas impressoras continuarão esperando.) As desvantagens da solução atual são:

  • A página gerada causa contagem de páginas imprecisa no software de contabilidade e no contador de páginas nas impressoras.

  • Quando a página sai da impressora na metade (em algumas impressoras no estilo Hewlett Packard DeskJet), o usuário pode tentar puxá-la para fora enquanto a impressora tenta puxá-la de volta. Essa situação pode causar problemas de hardware.

Você pode evitar os problemas anteriores especificando *MSPrintProcDuplexOptions: "2" no arquivo PPD.

Observe que, mesmo que esse atributo seja definido, a otimização de página em branco é executada somente nos seguintes casos limitados:

  1. Para impressão reversa, a otimização de página em branco é executada somente quando todo o trabalho pode caber em um único lado do papel (por exemplo, um trabalho de uma página com n-up=1 ou um trabalho de quatro páginas com n-up =4). Se o trabalho precisar de mais de uma folha, a otimização não será executada (porque as páginas da impressora serão impressas em uma ordem imprecisa). Por exemplo, para um trabalho de três páginas, as páginas podem ser impressas na ordem 3,2,1,<em branco> em vez de 4,3,2,<em branco>.

  2. A otimização de página em branco não será executada se o processador de impressão tiver que simular cópias. O processador de impressão simula cópias se o número de cópias necessárias for maior do que o número de cópias que o processador de impressão pode fazer.

    A situação a seguir é um exemplo de quando as simulações ocorrem e as páginas em branco são geradas (se necessário):

    • Duas cópias para uma impressora que não pode fazer cópias

    As situações a seguir são exemplos de quando a simulação não ocorre e você pode suprimir a geração de página extra:

    • Trabalho de cópia única para uma impressora que não pode fazer cópias
    • Trabalho de cinco cópias para uma impressora que pode fazer mais do que cópias

Para o driver PScript anterior ao Windows Vista, se você tiver um processador de impressão anterior ao Windows Vista, uma impressora imprimirá uma página em branco extra, se necessário, e você não poderá alterar o comportamento; caso contrário, se você tiver um processador de impressão do Windows Vista, uma impressora imprimirá uma página em branco extra, se necessário, e você não poderá alterar o comportamento.

Para o driver PScript do Windows Vista. se você tiver um processador de impressão anterior ao Windows Vista, uma impressora imprimirá uma página em branco extra, se necessário, e o atributo PPD será ignorado; caso contrário, se você tiver um processador de impressão do Windows Vista e se um atributo PPD apropriado e as condições adequadas estiverem presentes (ou seja, as condições descritas anteriormente sobre como impedir a impressão de páginas em branco), uma impressora não imprimirá páginas em branco.

MSBidiQueryFile

O atributo MSBiDiQueryFile usa o formato a seguir.

*MSBidiQueryFile: "filename"

Use MSBiDiQueryFile para especificar o nome do arquivo GPD ou GDL que contém os dados BidiQuery e BidiResponse de configuração automática do driver de impressora. O nome do arquivo GPD ou GDL não deve especificar nenhum caminho.

O exemplo de código a seguir mostra um exemplo de MSBiDiQueryFile em um arquivo PPD parcial.

*MSBidiQueryFile: "ACnfgPS.GDL"

MSXPSMaxCopies

O atributo MSXPSMaxCopies usa o formato a seguir.

*MSXPSMaxCopies: "int"

Use MSXPSMaxCopies para especificar o número máximo de cópias que um driver de impressora XPSDrv pode suportar.

O exemplo de código a seguir mostra um exemplo de MSXPSMaxCopies em um arquivo PPD parcial.

*MSXPSMaxCopies: "99"