Recursos PPD
Importante
A plataforma de impressão moderna é o meio preferido 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.
Os recursos PPD são definidos no arquivo PPD em pares de palavras-chave de estrutura *OpenUI/*CloseUI e em determinadas palavras-chave PPD que são tratadas de forma semelhante pelo driver Pscript. Embora EnumFeatures liste as palavras-chave *LeadingEdge e *UseHWMargins, elas não são definidas nos pares de palavras-chave de estrutura PPD *OpenUI/*CloseUI.
Os métodos GetOptions e SetOptions ignoram essas palavras-chave se elas aparecerem na lista de recursos. As palavras-chave de recurso/opção PPD diferenciam maiúsculas de minúsculas.
SetOptions lida com certos recursos PPD de uma maneira especial:
Se o arquivo PPD da impressora incluir a palavra-chave do recurso *OutputOrder e SetOptions for chamado para alterar a seleção de opções para esse recurso, a configuração do recurso do driver %PageOrder será alterada para corresponder à nova ordem de saída. Isso é feito para evitar que o spooler realize uma simulação desnecessária da ordem das páginas.
Se o arquivo PPD da impressora incluir a palavra-chave do recurso *OutputBin e SetOptions for chamado para alterar a seleção de opções para esse recurso, e a alteração fizer com que a configuração atual do recurso de driver %PageOrder seja o oposto da ordem de página da impressora e %MetafileSpooling for "False", %MetafileSpooling será redefinido como "True".
Quando o spooling EMF do spooler está habilitado e Collate está definido como "True" (isso pode ser definido diretamente na parte pública da estrutura DEVMODEW ou chamando SetOptions na palavra-chave do recurso *Collate do PPD), mas o recurso Collate não está disponível no momento e %MetafileSpooling é "False", então %MetafileSpooling será redefinido como "True". Isso é feito quando todas as configurações solicitadas na chamada SetOptions são aplicadas.
Se Duplex estiver definido como simplex (isso pode ser definido diretamente na parte pública da estrutura DEVMODE ou chamando SetOptions na palavra chave do recurso *Duplex do PPD), mas %PagePerSheet estiver definido como "Booklet", então %PagePerSheet será alterado para "2". Isso é feito quando todas as configurações solicitadas na chamada SetOptions são aplicadas.