Controlando a qualidade da imagem
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.
A interface de usuário do Unidrv fornece um conjunto de três botões de opção que permitem ao usuário selecionar "rascunho", "melhor" ou "melhor" qualidade de imagem para um trabalho de impressão. A qualidade do rascunho enfatiza a velocidade da impressora sobre a resolução da imagem, enquanto a melhor qualidade faz o oposto.
O objetivo desses botões de opção é permitir que o usuário selecione facilmente as opções de recursos necessárias para obter a qualidade desejada, sem a necessidade de selecionar explicitamente as opções necessárias individualmente.
As opções que o Unidrv deve selecionar quando um botão de opção é pressionado são especificadas no arquivo GPD da impressora. A linguagem GPD define as três entradas a seguir:
*DraftQualitySettings
*BetterQualitySettings
*BestQualitySettings
Cada uma dessas entradas está associada a um dos botões de opção e cada entrada aceita uma lista de opções. Quando um usuário seleciona o botão correspondente, o Unidrv percorre a lista e define as opções especificadas.
O formato de cada uma das entradas de configuração de qualidade é o seguinte:
*XXXXQualitySettings: LIST(FeatureName.OptionName, FeatureName.OptionName, FeatureName.OptionName, ...)
em que cada FeatureName é um nome associado a uma entrada *Feature e OptionName é um nome associado a uma das entradas *Option do recurso. Uma lista vazia faz com que o botão de opção associado fique esmaecido.
Uma entrada adicional obrigatória especifica a qualidade de imagem padrão. A formato funciona da seguinte maneira:
DefaultQuality: DefaultQuality
onde DefaultQuality é um de DRAFTQUALITY
, BETTERQUALITY
, ou BESTQUALITY
.
Essas entradas de arquivo GPD podem ser associadas a qualquer opção dos recursos ColorMode
e MediaType
. Normalmente, eles são colocados em instruções condicionais, conforme ilustrado no exemplo a seguir.
*switch: ColorMode {
*case: Mono {
*BestQualitySettings: LIST(ColorMode.Mono,
Resolution.Option1,
TextQuality.Option3)
*BetterQualitySettings: LIST(ColorMode.Mono,
Resolution.Option1,
TextQuality.Option1)
*DraftQualitySettings: LIST(ColorMode.Mono,
Resolution.Option2,
TextQuality.Option2)
*DefaultQuality: BETTERQUALITY }
*default: {
*BestQualitySettings: LIST(ColorMode.24bpp,
Resolution.Option2,
TextQuality.Option3)
*BetterQualitySettings: LIST(ColorMode.Color,
Resolution.Option2,
TextQuality.Option1)
*DraftQualitySettings: LIST(ColorMode.Color,
Resolution.Option2,
TextQuality.Option2)
*DefaultQuality: BETTERQUALITY }}
Conforme ilustrado no exemplo, uma boa estratégia é especificar uma entrada *Case para o modo de cor única e, em seguida, usar uma entrada *Default para todos os modos multicoloridos. Isso ocorre porque a página da folha de propriedades Configuração de página do Unidrv oferece ao usuário duas opções - impressão colorida ou não colorida. Se você usar o formato no exemplo, o Unidrv exibirá os botões de qualidade quando o usuário selecionar a opção de impressão colorida.
Veja a seguir um exemplo mais complexo, que vincula a qualidade da imagem ao modo de cor e ao tipo de mídia:
*switch: Colormode {
*case: Mono {
*switch: MediaType {
*case: CLAYCOATED {
*DraftQualitySettings: LIST(Option List)
*BetterQualitySettings: LIST(Option List)
*BestQualitySettings: LIST(Option List)
*DefaultQuality: BESTQUALITY }
*case: GLOSSY {
*DraftQualitySettings: LIST(Option List)
*BetterQualitySettings: LIST(Option List)
*BestQualitySettings: LIST(Option List)
*DefaultQuality: BETTERQUALITY
*default:
*DraftQualitySettings: LIST(Option List)
*BetterQualitySettings: LIST(Option List)
*BestQualitySettings: LIST(Option List)
*DefaultQuality: DRAFTQUALITY }}}
*default: {
*switch: MediaType {
*case: CLAYCOATED {
*DraftQualitySettings: LIST(Option List)
*BetterQualitySettings: LIST(Option List)
*BestQualitySettings: LIST(Option List)
*DefaultQuality: BESTQUALITY }
*case: GLOSSY {
*DraftQualitySettings: LIST(Option List)
*BetterQualitySettings: LIST(Option List)
*BestQualitySettings: LIST(Option List)
*DefaultQuality: BETTERQUALITY }
*default: {
*DraftQualitySettings: LIST(Option List)
*BetterQualitySettings: LIST(Option List)
*BestQualitySettings: LIST(Option List)
*DefaultQuality: DRAFTQUALITY }}}
}
Ao usar as entradas GPD de configuração de qualidade, as seguintes regras devem ser observadas:
Você deve sempre usar todas as quatro entradas. A especificação de uma lista de opções vazia é permitida e faz com que o botão de opção associado fique esmaecido.
Todas as quatro entradas devem ser especificadas para todas as combinações ColorMode e MediaType. Os exemplos usam uma entrada *Default dentro de cada instrução condicional para conseguir isso.
As listas de opções nas entradas de configuração de qualidade não devem violar nenhuma restrição de opção especificada.
As opções incluídas em uma lista de opções não devem alterar o tipo de mídia selecionado. Além disso, embora seja aceitável, por exemplo, definir o modo de cor para 24 bits/pixel para melhor qualidade, 8 bits/pixel para melhor qualidade e 4 bits/pixel para qualidade de rascunho, mudar para 1 bits/pixel (cor única) não seria aceitável.
Se um recurso for incluído em uma instrução condicional que especifica configurações de qualidade, o analisador definirá o *UpdateQualityMacro? como TRUE. Para obter mais informações, confira Atributos de recurso.