Controlando a qualidade da imagem
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 o guia de design do aplicativo de suporte Print.
A interface de utilizador do Unidrv fornece um conjunto de três botões de opção que permitem ao utilizador selecionar "rascunho", "melhor" ou "excelente" qualidade de imagem para um trabalho de impressão. A qualidade de rascunho enfatiza a velocidade da impressora sobre a resolução da imagem, enquanto a melhor qualidade faz o oposto.
O objetivo destes botões rádio é permitir que o usuário selecione facilmente as funcionalidades necessárias para obter a qualidade desejada, sem a necessidade de selecioná-las individualmente.
As opções que o Unidrv deve selecionar quando um botão de rádio é pressionado são especificadas no arquivo GPD da impressora. A linguagem GPD define as seguintes três entradas:
*Configurações de Qualidade de Rascunho
*BetterQualitySettings
*ConfiguraçõesDeMelhorQualidade
Cada uma dessas entradas está associada a um dos botões de rádio, e cada entrada permite 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 para cada uma das entradas de configuração de qualidade é o seguinte:
* XXXXQualitySettings: LIST(FeatureName.OptionName, FeatureName.OptionName, FeatureName.OptionName, ...)
onde cada FeatureName é um nome associado a uma entrada *Feature, e OptionName é um nome associado a uma das entradas *Option da funcionalidade. Uma lista vazia faz com que o botão de opção associado fique acinzentado.
Uma entrada adicional obrigatória especifica a qualidade da imagem padrão. O formato é o seguinte:
DefaultQuality:DefaultQuality
onde DefaultQuality é um dos 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 }}
Como ilustrado no exemplo, uma boa estratégia é especificar uma entrada *Caso para o modo de cor única e, em seguida, usar uma entrada *Padrão para todos os modos multicoloridos. Isso ocorre porque a página de da folha de propriedades Page Setup da 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.
A seguir está 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 de configuração de qualidade GPD, 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 acinzentado.
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 dentro das entradas de configuração de qualidade não devem violar nenhuma restrição de opção você especificou.
As opções incluídas em uma lista de opções não devem alterar o tipo de meio 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 numa instrução condicional que especifique as definições de qualidade, o analisador define o atributo *UpdateQualityMacro? como TRUE. Para obter mais informações, consulte Atributos de recurso.