Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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.
Recursos de driver são recursos não-PPD que são sintetizados pelo driver (por exemplo, o recurso %OutputFormat ). Para evitar conflitos de nomes com palavras-chave de funcionalidades PPD, todos os nomes das palavras-chave de funcionalidades dos drivers são precedidos por um caractere "%". As palavras-chave de recurso/opção do driver também diferenciam maiúsculas de minúsculas.
Para obter uma lista de todas as palavras-chave de funcionalidades suportadas pelo driver, um plug-in pode chamar o EnumFeatures, que retornará a lista de palavras-chave de funcionalidades contendo tanto recursos do driver quanto recursos do PPD. O plug-in pode então procurar nomes de palavras-chave de recursos que começam com o prefixo "%" para obter a lista de recursos do driver.
A tabela a seguir lista os recursos de driver atualmente suportados. Cada linha na tabela lista uma palavra-chave de recurso de driver, mostra as opções suportadas, indica se as opções do recurso podem ser enumeradas em uma chamada para EnumOptions e fornece uma breve descrição.
| Característica do driver | Opções suportadas | Opções de Enum | Descrição e comentários |
|---|---|---|---|
| %AddEuro | "Verdade" "Falso" |
Yes | Adicione o símbolo Euro às fontes do dispositivo. Esta funcionalidade é suportada apenas para impressoras de Nível 2+. Para impressoras de nível 1, SetOptions ignora esse recurso e GetOptions sempre retorna "False". |
| %CtrlDAfter | "Verdade" "Falso" |
Yes | Envie Ctrl-D após cada trabalho. Impressora autoadesiva |
| %CtrlDBefore | "Verdade" "Falso" |
Yes | Envie Ctrl-D antes de cada trabalho. Impressora autoadesiva |
| %CustomPageSize | Consulte a Nota 1 abaixo para obter mais informações. | Não | Especifique os parâmetros de tamanho de página personalizados PostScript. Documento autocolante |
| %GraphicsTrueGray | "Verdade" "Falso" |
Yes | Converta gráficos cinza em cinza PostScript. Impressora autoadesiva |
| %JobTimeout | Uma cadeia de caracteres ANSI terminada por NULL contendo caracteres de dígitos decimais que representa o número inteiro não assinado de segundos para o tempo limite, no intervalo de 0 a 2.147.483.647. Para SetOptions, caracteres de tabulação ou espaço extras antes ou depois dos dígitos decimais são permitidos, mas um símbolo de sinal não é permitido. |
Não | Especifique o valor de tempo limite do trabalho. Impressora autoadesiva |
| %MaxFontSizeAsBitmap | Uma cadeia de caracteres ANSI terminada por NULL contendo caracteres de dígitos decimais que representa o número inteiro não assinado de pixels, no intervalo de 0 a 32.767. Para SetOptions, caracteres de tabulação ou espaço extras antes ou depois dos dígitos decimais são permitidos, mas um símbolo de sinal não é permitido. |
Não | Especifique o tamanho máximo da fonte a ser baixado como um bitmap. Impressora autoadesiva |
| %MetafileSpooling | "Verdade" "Falso" |
Yes | Ativar/desativar funcionalidades de impressão avançadas. Documento autocolante Consulte a Nota 2 abaixo para obter mais informações. |
| %MinFontSizeAsOutline | Uma cadeia de caracteres ANSI terminada por NULL contendo caracteres de dígitos decimais que representa o número inteiro não assinado de pixels, no intervalo de 0 a 32.767. Para SetOptions, caracteres de tabulação ou espaço extras antes ou depois dos dígitos decimais são permitidos, mas um símbolo de sinal não é permitido. |
Não | Especifique o tamanho mínimo da fonte a ser baixada como contorno. Impressora autoadesiva |
| %Mirroring | "Verdade" "Falso" |
Yes | Espelhe a saída invertendo as coordenadas horizontais. Documento autocolante |
| %Negative | "Verdade" "Falso" |
Yes | Produza resultados negativos invertendo os valores para preto e branco. Esta funcionalidade é suportada apenas para impressoras a preto e branco. Para impressoras coloridas, SetOptions ignora esse recurso e GetOptions sempre retorna "False". Documento autocolante |
| %Orientation | "Retrato", "Paisagem", "Paisagem Rotativa" | Yes | Especifique a orientação de saída. Documento autocolante |
| %OutputFormat | "Velocidade", "Portabilidade", "EPS", "Arquivo" | Yes | Especifique o formato de saída PostScript. Documento autocolante Consulte a Nota 5 abaixo para obter mais informações. |
| %OutputProtocol | "ASCII", "BCP", "TBCP", "Binário" | Yes | Especifique o protocolo que a impressora usará para trabalhos de impressão. Assume-se que as impressoras PostScript suportam "ASCII" e "Binary", pelo que estas opções estão sempre disponíveis. As opções "BCP" e "TBCP" só estão disponíveis se forem suportadas. Para determinar isso, verifique o atributo global "Protocolos". Impressora autoadesiva |
| %OutputPSLevel | "1", "2", "3" | Não | Especifique qual nível de linguagem PostScript usar para o trabalho de impressão. A configuração nunca será maior do que o valor especificado no atributo global "LanguageLevel". Documento autocolante |
| %PageOrder | "FrontToBack" "BackToFront" |
Yes | Especifique a ordem em que as páginas serão impressas. Documento autocolante Consulte a Nota 3 abaixo para obter mais informações. |
| %PagePerSheet | "1", "2", "4", "6", "9", "16", "Brochura" |
Yes | Especifique o número de páginas lógicas por folha física. Este recurso também é conhecido como impressão "N-up". Documento autocolante Consulte a Nota 4 abaixo para obter mais informações. |
| %PSErrorHandler | "Verdade" "Falso" |
Yes | Enviar manipulador de erro PostScript. Documento autocolante |
| %PSMemory | Uma cadeia de caracteres ANSI terminada por NULL contendo caracteres de dígitos decimais que representa o número inteiro não assinado de kilobytes de memória PostScript, no intervalo de 0 a 2.147.483.647. Para SetOptions, caracteres de tabulação ou espaço extras antes ou depois dos dígitos decimais são permitidos, mas um símbolo de sinal não é permitido. |
Não | Especifique a quantidade de memória virtual PostScript disponível. O driver principal requer uma certa quantidade de memória virtual PostScript disponível para seu processamento. Se %PSMemory for definido abaixo desse mínimo, o valor mínimo será usado como o novo valor. Atualmente, o valor mínimo é de 172 KB para impressoras de nível 1 e 249 KB para impressoras de nível 2+. Impressora autoadesiva |
| %TextTrueGray | "Verdade" "Falso" |
Yes | Converta texto cinza em cinza PostScript. Impressora autoadesiva |
| %TTDownloadFormat | "Automático", "Contorno", "Bitmap", "NativeTrueType" | Yes | Especifique o formato de download da fonte TrueType. "NativeTrueType" é suportado somente quando o atributo global "TTRasterizer" indica suporte para "Type42". Documento autocolante |
| %WaitTimeout | Uma cadeia de caracteres ANSI terminada por NULL contendo caracteres de dígitos decimais que representa o número inteiro não assinado de segundos para o tempo limite, no intervalo de 0 a 2.147.483.647. Para SetOptions, caracteres de tabulação ou espaço extras antes ou depois dos dígitos decimais são permitidos, mas um símbolo de sinal não é permitido. |
Não | Especifique o valor de tempo limite de espera. Impressora autoadesiva |
Notas sobre palavras-chave de funcionalidades de driver
O recurso %CustomPageSize do driver tem cinco valores de opção: x, y, WidthOffset, HeightOffset e FeedDirection. Consulte a seção 5.16 da PostScript Printer Description File Format Specification, Versão 4.3, para obter uma explicação detalhada desses parâmetros.
Uma entrada %CustomPageSize contém a palavra-chave %CustomPageSize , juntamente com valores para as opções x, y, WidthOffset, HeightOffset e FeedDirection. O primeiro item é a palavra-chave %CustomPageSize, seguida por um caractere NULL. Os valores de x, y, WidthOffset e HeightOffset seguem essa palavra-chave e aparecem como substrings de dígitos decimais não assinados, cada um representando o número de pontos PostScript para o valor da opção correspondente. Cada um desses valores numéricos é seguido por um ou mais caracteres de espaço ou tabulação. O item final na cadeia de caracteres é o valor de FeedDirection, que é encerrado por um caractere NULL. As opções para FeedDirection são "LongEdge", "ShortEdge" (correspondente às orientações 0 e 1), e "LongEdgeFlip", "ShortEdgeFlip" (correspondente às orientações 2 e 3). Verifique a palavra-chave do recurso PPD *LeadingEdge para direções de alimentação suportadas.
Para GetOptions, o buffer de saída apontado por pmszFeatureOptionBuf é conforme descrito no parágrafo anterior. No exemplo a seguir, o valor para x é 612, o valor para y é 792, os valores para WidthOffset e HeightOffset são 0 e o valor para FeedDirection é "ShortEdge".
"%CustomPageSize\0612 792 0 0 ShortEdge\0"Para SetOptions, caracteres de tabulação ou espaço extras antes ou depois dos dígitos decimais são permitidos, mas um símbolo de sinal não é permitido. Caso contrário, o buffer de entrada apontado por pmszFeatureOptionBuf deve ser construído como descrito acima.
A funcionalidade do driver %CustomPageSize é suportada apenas se todas as três condições seguintes forem atendidas:
O arquivo PPD contém o recurso *CustomPageSize .
A palavra-chave *PPD-Adobe tem um valor igual ou superior a 4.3, ou *UseHWMargin: False está definido para indicar um dispositivo com alimentação por rolo.
A opção atualmente selecionada do recurso *PageSize PPD é CustomPageSize.
Este recurso é suportado somente quando o spooler EMF spooling está habilitado.
Quando suportado, definir a opção deste recurso como "Falso" causa alterações nos seguintes recursos relacionados ao EMF:
Se %PagePerSheet é "Brochura", é alterado para "1".
Se Collate estiver definido como "True" (que pode ser definido diretamente na parte pública da estrutura DEVMODEW ou chamando SetOptions no recurso *Collate PPD), mas o recurso Collate não estiver disponível no momento, Collate será definido como "False".
Se %PageOrder for o oposto da configuração de ordem de saída atual da impressora, %PageOrder será revertida para o valor da impressora.
Este recurso é suportado somente quando o spooler EMF spooling está habilitado.
Quando há suporte, a configuração desse recurso pode fazer com que ocorra o seguinte:
Se o arquivo PPD da impressora incluir a palavra-chave do recurso *OutputOrder , sua seleção de opções será alterada para corresponder à ordem de saída da nova configuração para o recurso %PageOrder . Isso é feito para evitar que o spooler execute uma simulação desnecessária de ordem de página.
Se o arquivo PPD da impressora não incluir o recurso *OutputOrder e a nova configuração para o recurso de driver %PageOrder for o oposto da configuração atual de ordem de saída da impressora e o recurso de driver %MetafileSpooling for "False", então %MetafileSpooling será redefinido para "True".
A opção "Booklet" é suportada apenas quando o spooler EMF spooling está ativado e o recurso Duplex está disponível.
Quando a opção "Booklet" é suportada, definir o recurso driver%PagePerSheet como "Booklet" pode causar as seguintes alterações:
Se a funcionalidade do driver %MetafileSpooling for "False", ela será redefinida para "True".
Se o recurso *Duplex PPD estiver definido como Nenhum, o recurso *Duplex será redefinido para a primeira opção não-Simplex definida no arquivo PPD.
Exceto para "EPS" (Encapsulated PostScript), os formatos especificados no recurso de driver %OutputFormat são categorizados de acordo com as seguintes duas características:
O código PostScript de saída é independente da ordem das páginas?
O código PostScript de saída contém comandos de controle de dispositivo (que geralmente usam o operador setpagedevice )?
Categoria Ordem de página independente SetPageDevice Arquivo Yes Não Portabilidade Yes Yes Velocidade Não Yes
Quando GetOptions é chamado em palavras-chave de funcionalidade do driver, se uma palavra-chave de funcionalidade solicitada não for reconhecida, ou se a palavra-chave de funcionalidade for reconhecida, mas não suportada no modo atual associado ao documento ou à impressora (consulte a seção sobre a substituição de páginas da folha de propriedades Driver-Supplied), a funcionalidade será simplesmente ignorada e o buffer de saída não conterá o seu par palavra-chave de funcionalidade/opção.
Por exemplo, suponha que o método GetOptions é chamado e o buffer de entrada pmszFeaturesRequested contém a seguinte cadeia de caracteres (no formato MULTI_SZ):
"Resolution\0%CustomPageSize\0Unknown_Name\0%Orientation\0\0"
Após GetOption retornar, o buffer de saída pmszFeatureOptionBuf poderá conter esta cadeia de caracteres (também no formato MULTI_SZ):
"Resolution\0300dpi\0%CustomPageSize\0612 792 0 0 ShortEdge\0%Orientation\0RotatedLandscape\0\0"
Observe que o recurso Unknown_Name (que não existe) listado na primeira cadeia de caracteres não aparece na segunda cadeia de caracteres, pois não foi reconhecido pelo driver Pscript. Os outros recursos, Resolução, %CustomPageSizee %Orientation, aparecem na cadeia de saída, juntamente com suas opções atuais, que são "300dpi", "612 792 0 0 ShortEdge" e "RotatedLandscape", respectivamente. Consulte Funcionalidades do Driver para obter uma explicação das opções de%CustomPageSize.
Quando SetOptions é chamado em keywords de funcionalidades do controlador, se uma palavra-chave de funcionalidades solicitada ou sua palavra-chave da opção no buffer de entrada apontado por pmszFeatureOptionBuf não for reconhecida, ou se a funcionalidade for reconhecida, mas não for suportada no modo persistente de documento ou impressora atual (consulte Substituindo páginas de folhas de propriedades de Driver-Supplied), ou se a palavra-chave das funcionalidades e sua palavra-chave da opção forem reconhecidas, mas a palavra-chave da opção for inválida para essa funcionalidade (por exemplo, tentando definir %TTDownloadFormat como "NativeTrueType" em uma impressora que não suporta Type42 TTRasterizer), então esse par de funcionalidades/opção será ignorado e a opção atual para essa funcionalidade permanecerá ativa.
A ordem dos pares de palavras-chave de funcionalidades/opções no buffer apontado por pmszFeatureOptionBuf pode afetar o resultado da chamada SetOptions. Por exemplo, as duas ordens diferentes a seguir têm resultados diferentes.
| pmszFeatureOptionBuf | %PagePerSheet | %MetafileSpooling |
|---|---|---|
| "%MetafileSpooling\0False\0%PagePerSheet\0Booklet\0\0" | "Brochura" | "Verdade" |
| "%PagePerSheet\0Booklet\0%MetafileSpooling\0False\0\0" | "1" | "Falso" |
Para uma explicação das razões por que estes resultados ocorrem, ver a Nota 3 sobre %MetafileSpooling, acima.