estructura ATTRIBUTE_INFO_4 (winddiui.h)

La estructura de ATTRIBUTE_INFO_4 se usa como parámetro para la función DrvQueryJobAttributes de un archivo DLL de interfaz de impresora. Todos los valores de miembro son proporcionados por la función. Esta estructura es similar a ATTRIBUTE_INFO_3, pero incluye miembros adicionales para controlar N-up, impresión dúplex y folleto, y escalado.

Sintaxis

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;

Miembros

dwJobNumberOfPagesPerSide

Número de páginas de documento que se van a colocar en un lado de una página física, según lo solicite el usuario. Los valores permitidos son 1, 2, 4, 6, 9 o 16.

dwDrvNumberOfPagesPerSide

Número de páginas de documento que la impresora y el controlador pueden colocar en un lado de una página física. Este valor debe ser 1 o el valor especificado para dwJobNumberOfPagesPerSide.

dwNupBorderFlags

Uno de los siguientes valores de marca de bits:

Marca Definición
BORDER_PRINT El procesador de impresión debe dibujar un borde alrededor de la página.
NO_BORDER_PRINT El procesador de impresión no debe dibujar un borde alrededor de la página.

dwJobPageOrderFlags

Uno de los siguientes valores de marca de bits:

Marca Definición
BOOKLET_PRINT Las páginas deben imprimirse en forma de folleto, con dos páginas de documento impresas en un lado de una página física. En el modo horizontal, las dos páginas de documento se imprimen en paralelo en el papel. En el modo vertical, las dos páginas del documento se imprimen en la parte superior e inferior.
NORMAL_PRINT Las páginas deben imprimirse en orden normal: página 1, página 2, etc.
REVERSE_PRINT Las páginas deben imprimirse en orden inverso: última página, página siguiente a última, etc.

dwDrvPageOrderFlags

Marcas de bits que indican qué opciones de ordenación de páginas son compatibles con la impresora y el controlador. Usa las mismas marcas que dwJobPageOrderFlags.

dwJobNumberOfCopies

Número de copias del trabajo de impresión, según lo solicite el usuario.

dwDrvNumberOfCopies

Número máximo de copias que la impresora y el controlador pueden controlar a la vez, teniendo en cuenta estos atributos de trabajo como la intercalación y el acoplamiento.

dwColorOptimization

Uno de los siguientes valores de marca de bits:

Marca Definición
COLOR_OPTIMIZATION El procesador de impresión debe usar la optimización del color monocromático.
NO_COLOR_OPTIMIZATION El procesador de impresión no debe usar la optimización de color monocromático.

dmPrintQuality

Valor que se va a usar en lugar del miembro dmPrintQuality de la estructura DEVMODEW del trabajo de impresión, si la marca de COLOR_OPTIMIZATION se establece en dwColorOptimization.

dmYResolution

Valor que se va a usar en lugar del miembro dmYResolution de la estructura DEVMODEW del trabajo de impresión, si la marca COLOR_OPTIMIZATION se establece en dwColorOptimization.

dwDuplexFlags

Uno de los siguientes valores de marca de bits usados en la impresión dúplex:

Marca Definición
DONT_SEND_EXTRA_PAGES_FOR_DUPLEX El procesador de impresión no debe enviar páginas en blanco adicionales al imprimir dúplex. Por ejemplo, si envía un trabajo de tres páginas para la impresión dúplex, algunas impresoras esperan recibir cuatro páginas. Si imprime este trabajo en Microsoft Windows XP o Windows Server 2003, el procesador de impresión envía cuatro páginas a la impresora de forma predeterminada (la cuarta página es una página en blanco). Si imprime este trabajo en Windows Vista con este conjunto de marcas, el procesador de impresión envía solo las tres páginas del trabajo de impresión y no envía la página en blanco adicional.
REVERSE_PAGES_FOR_REVERSE_DUPLEX El procesador de impresión debe invertir el orden de los pares de página al imprimir en modo dúplex inverso. Por ejemplo, cuando se establece esta marca, el procesador de impresión debe imprimir páginas en orden 7, 8, 5, 6, 3, 4, 1, 2 en lugar de 8, 7, 6, 5, 4, 3, 2, 1.

Establezca en 0 si el controlador no requiere ninguna de estas opciones.

dwNupDirection

Uno de los siguientes valores de marca de bits usados en la impresión N-up:

Marca Definición
RIGHT_THEN_DOWN El procesador de impresión debe proporcionar imágenes de página en secuencia de izquierda a derecha y, a continuación, hacia abajo la página impresa final. También se establece en este valor si no se necesita impresión en N.
DOWN_THEN_RIGHT El procesador de impresión debe proporcionar imágenes de página en secuencia de arriba a abajo y, a continuación, de izquierda a derecha en la página impresa final.
LEFT_THEN_DOWN El procesador de impresión debe proporcionar imágenes de página en secuencia de derecha a izquierda y, a continuación, hacia abajo la página impresa final.
DOWN_THEN_LEFT El procesador de impresión debe proporcionar imágenes de página en secuencia de arriba a abajo y, a continuación, de derecha a izquierda en la página impresa final.

Esta marca solo se considera si dwJobNumberOfPagesPerSide o dwDrvNumberOfPagesPerSide indican que la impresión N está activa. Para obtener más información, vea las descripciones anteriores de dwJobNumberOfPagesPerSide y dwDrvNumberOfPagesPerSide.

dwBookletFlags

Si dwJobPageOrderFlags se establece en BOOKLET_PRINT, uno de los valores siguientes.

Marca Definición
BOOKLET_EDGE_LEFT El procesador de impresión debe imprimir páginas en un diseño de folleto de izquierda a derecha, donde el borde enlazado del folleto plegado final se encuentra en el borde izquierdo de la página uno.
BOOKLET_EDGE_RIGHT El procesador de impresión debe imprimir páginas en un diseño de folleto de derecha a izquierda, donde el borde enlazado del folleto plegado final se encuentra en el borde derecho de la página uno.

Si dwJobPageOrderFlags no está establecido en BOOKLET_PRINT, dwBookletFlags se establece en 0.

Esta marca solo se considera si el miembro dwJobPageOrderFlags está establecido en BOOKLET_PRINT.

dwScalingPercentX

Porcentaje de escalado en la dirección horizontal (x) con respecto al tamaño normal del papel. Debe estar en el intervalo de 1 a 1000. Establezca en 100 si no se realizará el escalado.

Para garantizar resultados de impresión predecibles, dwScalingPercentX y dwScalingPercentY deben tener el mismo valor.

dwScalingPercentY

Porcentaje de escalado en la dirección vertical (y) con respecto al tamaño normal del papel. Debe estar en el intervalo de 1 a 1000. Establezca en 100 si no se realizará el escalado.

Para garantizar resultados de impresión predecibles, dwScalingPercentX y dwScalingPercentY deben tener el mismo valor.

Comentarios

Si el miembro dmPrintQuality de la estructura DEVMODEW de un trabajo de impresión es un valor negativo, como DMRES_HIGH, y si la optimización de color monocromo está habilitada, el cambio entre color y monocromo podría dar lugar a diferentes resoluciones que se usan. Esto se debe a que DMRES_HIGH se pueden asignar a valores de PPP diferentes para la representación de color y monocromo. (En el caso de los dispositivos compatibles con Unidrv, esta asignación se produce en el archivo GPD de la impresora). Para garantizar una resolución coherente en todo el trabajo de impresión, el controlador puede especificar valores dmPrintQuality y dmYResolution positivos (que representan una resolución de PPP específica) para invalidar los valores equivalentes de DEVMODEW .

El procesador de impresión EMF usa la marca especificada para dwColorOptimization para determinar si se debe solicitar a GDI que realice la optimización del color monocromo. Si la optimización de color monocromo está habilitada, el trabajo de impresión se puede cambiar entre monocromo y la representación de color según corresponda.

Si va a crear un complemento de representación Unidrv para generar marcas de agua de color, tenga en cuenta que cuando el miembro dwColorOptimization se establece en COLOR_OPTIMIZATION, las marcas de agua de color se imprimen en blanco y negro cuando se imprimen en documentos negros y blancos. Para asegurarse de que las marcas de agua de color se imprimen correctamente con documentos de color y blanco y negro, deshabilite la optimización del color. La optimización del color también se puede controlar mediante el atributo de color Unidrv *ChangeColorModeOnDoc ( vea Atributos de color) y por la función GdiEndPageEMF .

Para obtener una lista de valores predeterminados para ATTRIBUTE_INFO_4 miembros, vea GetJobAttributesEx.

Requisitos

Requisito Valor
Header winddiui.h (incluya Winddiui.h, Winsplp.h)

Consulte también

ATTRIBUTE_INFO_2

ATTRIBUTE_INFO_3

DrvQueryJobAttributes

GdiEndPageEMF

GetJobAttributesEx