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) |