Compartilhar via


estrutura ATTRIBUTE_INFO_4 (winddiui.h)

A estrutura ATTRIBUTE_INFO_4 é usada como um parâmetro para a função drvQueryJobAttributes da interface da impressora. Todos os valores de membro são fornecidos por função. Essa estrutura é semelhante a ATTRIBUTE_INFO_3, mas inclui membros adicionais para controlar n-up, duplex e impressão de livreto e dimensionamento.

Sintaxe

typedef struct _ATTRIBUTE_INFO_4 {
  DWORD dwJobNumberOfPagesPerSide;
  DWORD dwDrvNumberOfPagesPerSide;
  DWORD dwNupBorderFlags;
  DWORD dwJobPageOrderFlags;
  DWORD dwDrvPageOrderFlags;
  DWORD dwJobNumberOfCopies;
  DWORD dwDrvNumberOfCopies;
  DWORD dwColorOptimization;
  short dmPrintQuality;
  short dmYResolution;
  DWORD dwDuplexFlags;
  DWORD dwNupDirection;
  DWORD dwBookletFlags;
  DWORD dwScalingPercentX;
  DWORD dwScalingPercentY;
} ATTRIBUTE_INFO_4, *PATTRIBUTE_INFO_4;

Membros

dwJobNumberOfPagesPerSide

Número de páginas de documento a serem colocadas em um lado de uma página física, conforme solicitado pelo usuário. Os valores permitidos são 1, 2, 4, 6, 9 ou 16.

dwDrvNumberOfPagesPerSide

Número de páginas de documento que a impressora e o driver podem colocar em um lado de uma página física. Esse valor deve ser 1 ou o valor especificado para dwJobNumberOfPagesPerSide.

dwNupBorderFlags

Um dos seguintes valores de sinalizador de bit:

Bandeira Definição
BORDER_PRINT O processador de impressão deve desenhar uma borda ao redor da página.
NO_BORDER_PRINT O processador de impressão não deve desenhar uma borda ao redor da página.

dwJobPageOrderFlags

Um dos seguintes valores de sinalizador de bit:

Bandeira Definição
BOOKLET_PRINT As páginas devem ser impressas no formato de livreto, com duas páginas de documento impressas em um lado de uma página física. No modo paisagem, as duas páginas de documento são impressas lado a lado no papel. No modo retrato, as duas páginas de documento são impressas na parte superior e inferior.
NORMAL_PRINT As páginas devem ser impressas em ordem normal: página 1, página 2 e assim por diante.
REVERSE_PRINT As páginas devem ser impressas em ordem inversa: última página, última página e assim por diante.

dwDrvPageOrderFlags

Sinalizadores de bits que indicam quais opções de ordenação de página têm suporte da impressora e do driver. Usa os mesmos sinalizadores que dwJobPageOrderFlags.

dwJobNumberOfCopies

Número de cópias do trabalho de impressão, conforme solicitado pelo usuário.

dwDrvNumberOfCopies

Número máximo de cópias que a impressora e o driver podem manipular de uma só vez, levando em conta atributos de trabalho como agrupamento e stapling.

dwColorOptimization

Um dos seguintes valores de sinalizador de bit:

Bandeira Definição
COLOR_OPTIMIZATION O processador de impressão deve usar a otimização de cores monocromática.
NO_COLOR_OPTIMIZATION O processador de impressão não deve usar a otimização de cores monocromática.

dmPrintQuality

Valor a ser usado em vez do membro dmPrintQuality da estrutura de DEVMODEW do trabalho de impressão, se o sinalizador COLOR_OPTIMIZATION for definido em dwColorOptimization.

dmYResolution

Valor a ser usado em vez do dmYResolution membro da estrutura DEVMODEW do trabalho de impressão, se o sinalizador COLOR_OPTIMIZATION for definido em dwColorOptimization.

dwDuplexFlags

Um dos seguintes valores de sinalizador de bit usado na impressão duplex:

Bandeira Definição
DONT_SEND_EXTRA_PAGES_FOR_DUPLEX O processador de impressão não deve enviar páginas em branco extras ao imprimir duplex. Por exemplo, se você enviar um trabalho de três páginas para impressão duplex, algumas impressoras esperam receber quatro páginas. Se você imprimir esse trabalho no Microsoft Windows XP ou no Windows Server 2003, o processador de impressão enviará quatro páginas para a impressora por padrão (a quarta página é uma página em branco). Se você imprimir esse trabalho no Windows Vista com esse conjunto de sinalizadores, o processador de impressão enviará apenas as três páginas do trabalho de impressão e não enviará a página extra em branco.
REVERSE_PAGES_FOR_REVERSE_DUPLEX O processador de impressão deve reverter a ordem dos pares de página ao imprimir no modo duplex reverso. Por exemplo, quando esse sinalizador é definido, o processador de impressão deve imprimir páginas na ordem 7, 8, 5, 6, 3, 4, 1, 2 em vez de 8, 7, 6, 5, 4, 3, 2, 1.

Defina como 0 se o driver não exigir nenhuma dessas opções.

dwNupDirection

Um dos seguintes valores de sinalizador de bit usado na impressão N-up:

Bandeira Definição
RIGHT_THEN_DOWN O processador de impressão deve fornecer imagens de página em sequência da esquerda para a direita e, em seguida, na página impressa final. Defina também esse valor se a impressão N-up não for necessária.
DOWN_THEN_RIGHT O processador de impressão deve fornecer imagens de página em sequência de cima para baixo e da esquerda para a direita na página impressa final.
LEFT_THEN_DOWN O processador de impressão deve fornecer imagens de página em sequência da direita para a esquerda e, em seguida, na página impressa final.
DOWN_THEN_LEFT O processador de impressão deve fornecer imagens de página em sequência de cima para baixo, da direita para a esquerda na página impressa final.

Esse sinalizador será considerado somente se dwJobNumberOfPagesPerSide e/ou dwDrvNumberOfPagesPerSide indicar que a impressão N-up está ativa. Para obter mais informações, consulte as descrições acima para dwJobNumberOfPagesPerSide e dwDrvNumberOfPagesPerSide.

dwBookletFlags

Se dwJobPageOrderFlags estiver definido como BOOKLET_PRINT, um dos valores a seguir.

Bandeira Definição
BOOKLET_EDGE_LEFT O processador de impressão deve imprimir páginas em um layout de livreto da esquerda para a direita, em que a borda associada do livreto dobrado final está na borda esquerda da página um.
BOOKLET_EDGE_RIGHT O processador de impressão deve imprimir páginas em um layout de livreto da direita para a esquerda, em que a borda associada do livreto dobrado final está na borda direita da página um.

Se dwJobPageOrderFlags não estiver definido como BOOKLET_PRINT, dwBookletFlags será definido como 0.

Esse sinalizador será considerado somente se o membro dwJobPageOrderFlags estiver definido como BOOKLET_PRINT.

dwScalingPercentX

Percentual de dimensionamento na direção horizontal (x) em relação ao tamanho normal do papel. Deve estar no intervalo de 1 a 1000. Defina como 100 se o dimensionamento não for feito.

Para garantir resultados previsíveis de impressão, dwScalingPercentX e dwScalingPercentY devem ter o mesmo valor.

dwScalingPercentY

Percentual de dimensionamento na direção vertical (y) em relação ao tamanho normal do papel. Deve estar no intervalo de 1 a 1000. Defina como 100 se o dimensionamento não for feito.

Para garantir resultados previsíveis de impressão, dwScalingPercentX e dwScalingPercentY devem ter o mesmo valor.

Observações

Se o dmPrintQuality membro da estrutura DEVMODEW de um trabalho de impressão for um valor negativo, como DMRES_HIGH, e se a otimização de cores monocromática estiver habilitada, alternar entre cor e monocromático poderá resultar em resoluções diferentes sendo usadas. Isso ocorre porque DMRES_HIGH podem ser atribuídos a diferentes valores de DPI para renderização monocromática e de cor. (Para dispositivos com suporte para Unidrv, essa atribuição ocorre no arquivo gpd da impressora.) Para garantir uma resolução consistente em todo o trabalho de impressão, o driver pode especificar valores positivos dmPrintQuality e dmYResolution (que representam uma resolução de DPI específica) para substituir os valores de deVMODEW equivalentes.

O processador de impressão EMF usa o sinalizador especificado para dwColorOptimization para determinar se o GDI deve ser solicitado a executar a otimização de cores monocromática. Se a otimização de cores monocromática estiver habilitada, o trabalho de impressão poderá ser alternado entre a renderização monocromática e de cores, conforme apropriado.

Se você estiver criando um plug-in de renderização Unidrv para gerar marcas d'água coloridas, observe que quando o membro dwColorOptimization é definido como COLOR_OPTIMIZATION, as marcas d'água de cor são impressas em preto e branco quando são impressas em documentos em preto e branco. Para garantir que as marcas d'água coloridas imprimam corretamente com documentos de cor e preto e branco, desabilite a otimização de cores. A otimização de cores também pode ser controlada pelo Unidrv *ChangeColorModeOnDoc? atributo de cor (consulte atributos de cor) e pela função GdiEndPageEMF.

Para obter uma lista de valores padrão para membros ATTRIBUTE_INFO_4, consulte GetJobAttributesEx.

Requisitos

Requisito Valor
cabeçalho winddiui.h (inclua Winddiui.h, Winsplp.h)

Consulte também

ATTRIBUTE_INFO_2

ATTRIBUTE_INFO_3

DrvQueryJobAttributes

GdiEndPageEMF

GetJobAttributesEx