struttura ATTRIBUTE_INFO_4 (winddiui.h)

La struttura ATTRIBUTE_INFO_4 viene usata come parametro per la funzione DrvQueryJobAttributes di una DLL dell'interfaccia della stampante. Tutti i valori dei membri vengono forniti dalla funzione. Questa struttura è simile a ATTRIBUTE_INFO_3, ma include membri aggiuntivi per controllare la stampa N-up, duplex e opuscolo e ridimensionamento.

Sintassi

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;

Members

dwJobNumberOfPagesPerSide

Numero di pagine di documenti da inserire su un lato di una pagina fisica, come richiesto dall'utente. I valori consentiti sono 1, 2, 4, 6, 9 o 16.

dwDrvNumberOfPagesPerSide

Numero di pagine di documenti che la stampante e il driver possono posizionare su un lato di una pagina fisica. Questo valore deve essere 1 o il valore specificato per dwJobNumberOfPagesPerSide.

dwNupBorderFlags

Uno dei valori del flag di bit seguenti:

Flag Definizione
BORDER_PRINT Il processore di stampa deve disegnare un bordo intorno alla pagina.
NO_BORDER_PRINT Il processore di stampa non deve disegnare un bordo intorno alla pagina.

dwJobPageOrderFlags

Uno dei valori del flag di bit seguenti:

Flag Definizione
BOOKLET_PRINT Le pagine devono essere stampate in formato opuscolo, con due pagine di documento stampate su un lato di una pagina fisica. In modalità orizzontale, le due pagine del documento vengono stampate affiancate sul foglio. In modalità verticale, le due pagine del documento vengono stampate in alto e in basso.
NORMAL_PRINT Le pagine devono essere stampate in ordine normale: pagina 1, pagina 2 e così via.
REVERSE_PRINT Le pagine devono essere stampate in ordine inverso: ultima pagina, pagina successiva e così via.

dwDrvPageOrderFlags

Flag di bit che indicano le opzioni di ordinamento delle pagine supportate dalla stampante e dal driver. Usa gli stessi flag di dwJobPageOrderFlags.

dwJobNumberOfCopies

Numero di copie del processo di stampa, come richiesto dall'utente.

dwDrvNumberOfCopies

Numero massimo di copie che la stampante e il driver possono gestire contemporaneamente, tenendo conto di tali attributi di processo, ad esempio la compressione e l'apling.

dwColorOptimization

Uno dei valori del flag di bit seguenti:

Flag Definizione
COLOR_OPTIMIZATION Il processore di stampa deve usare l'ottimizzazione del colore monocromatico.
NO_COLOR_OPTIMIZATION Il processore di stampa non deve usare l'ottimizzazione del colore monocromatico.

dmPrintQuality

Valore da utilizzare anziché il membro dmPrintQuality della struttura DEVMODEW del processo di stampa, se il flag COLOR_OPTIMIZATION è impostato in dwColorOptimization.

dmYResolution

Valore da utilizzare anziché il membro dmYResolution della struttura DEVMODEW del processo di stampa, se il flag COLOR_OPTIMIZATION è impostato in dwColorOptimization.

dwDuplexFlags

Uno dei valori di flag di bit seguenti usati nella stampa duplex:

Flag Definizione
DONT_SEND_EXTRA_PAGES_FOR_DUPLEX Il processore di stampa non deve inviare pagine vuote aggiuntive durante la stampa duplex. Ad esempio, se si invia un processo a tre pagine per la stampa duplex, alcune stampanti prevedono di ricevere quattro pagine. Se si stampa questo processo in Microsoft Windows XP o Windows Server 2003, il processore di stampa invia quattro pagine alla stampante per impostazione predefinita (la quarta pagina è una pagina vuota). Se si stampa questo processo in Windows Vista con questo flag impostato, il processore di stampa invia solo le tre pagine del processo di stampa e non invia la pagina vuota aggiuntiva.
REVERSE_PAGES_FOR_REVERSE_DUPLEX Il processore di stampa deve invertire l'ordine delle coppie di pagine durante la stampa in modalità duplex inversa. Ad esempio, quando questo flag è impostato, il processore di stampa deve stampare le pagine in ordine 7, 8, 5, 6, 3, 4, 1, 2 anziché 8, 7, 6, 5, 4, 3, 2, 1.

Impostare su 0 se il driver non richiede alcuna di queste opzioni.

dwNupDirection

Uno dei valori del flag di bit seguenti usati nella stampa N:one of the following bit flag values used in N-up printing:

Flag Definizione
RIGHT_THEN_DOWN Il processore di stampa deve fornire immagini di pagina in sequenza da sinistra a destra, quindi verso il basso la pagina stampata finale. Impostare anche su questo valore se non è necessaria la stampa N.
DOWN_THEN_RIGHT Il processore di stampa deve fornire immagini di pagina in sequenza dall'alto verso il basso, quindi da sinistra a destra nella pagina stampata finale.
LEFT_THEN_DOWN Il processore di stampa deve fornire immagini di pagina in sequenza da destra a sinistra, quindi verso il basso la pagina stampata finale.
DOWN_THEN_LEFT Il processore di stampa deve fornire immagini di pagina in sequenza dall'alto verso il basso, quindi da destra a sinistra nella pagina stampata finale.

Questo flag viene considerato solo se dwJobNumberOfPagesPerSide e/o dwDrvNumberOfPagesPerSide indicano che la stampa N-up è attiva. Per altre informazioni, vedere le descrizioni precedenti per dwJobNumberOfPagesPerSide e dwDrvNumberOfPagesPerSide.

dwBookletFlags

Se dwJobPageOrderFlags è impostato su BOOKLET_PRINT, uno dei valori seguenti.

Flag Definizione
BOOKLET_EDGE_LEFT Il processore di stampa deve stampare le pagine in un layout opuscolo da sinistra a destra, in cui il bordo delimitato del opuscolo piegato finale si trova sul bordo sinistro della pagina 1.
BOOKLET_EDGE_RIGHT Il processore di stampa deve stampare le pagine in un layout opuscolo da destra a sinistra, in cui il bordo delimitato del opuscolo piegato finale si trova sul bordo destro della pagina 1.

Se dwJobPageOrderFlags non è impostato su BOOKLET_PRINT, dwBookletFlags è impostato su 0.

Questo flag viene considerato solo se il membro dwJobPageOrderFlags è impostato su BOOKLET_PRINT.

dwScalingPercentX

Percentuale di ridimensionamento nella direzione orizzontale (x) rispetto alle normali dimensioni del foglio. Deve essere compreso nell'intervallo compreso tra 1 e 1000. Impostare su 100 se il ridimensionamento non verrà eseguito.

Per garantire risultati di stampa prevedibili, dwScalingPercentX e dwScalingPercentY devono avere lo stesso valore.

dwScalingPercentY

Percentuale di ridimensionamento nella direzione verticale (y) rispetto alle normali dimensioni della carta. Deve essere compreso nell'intervallo compreso tra 1 e 1000. Impostare su 100 se il ridimensionamento non verrà eseguito.

Per garantire risultati di stampa prevedibili, dwScalingPercentX e dwScalingPercentY devono avere lo stesso valore.

Commenti

Se il membro dmPrintQuality della struttura DEVMODEW di un processo di stampa è un valore negativo, ad esempio DMRES_HIGH, e se è abilitata l'ottimizzazione del colore monocromatico, il passaggio tra colore e monocromatico potrebbe comportare l'uso di risoluzioni diverse. Ciò è dovuto al fatto che DMRES_HIGH potrebbe essere assegnato a valori DPI diversi per il rendering a colori e monocromatici. Per i dispositivi supportati da Unidrv, questa assegnazione si verifica nel file GPD della stampante. Per garantire una risoluzione coerente in tutto il processo di stampa, il driver può specificare valori dmPrintQuality e dmYResolution positivi (che rappresentano una risoluzione DPI specifica) per eseguire l'override dei valori DEVMODEW equivalenti.

Il processore di stampa EMF usa il flag specificato per dwColorOptimization per determinare se richiedere a GDI di eseguire l'ottimizzazione del colore monocromatico. Se l'ottimizzazione dei colori monocromatici è abilitata, il processo di stampa può essere spostato tra il rendering monocromatico e il rendering dei colori in base alle esigenze.

Se si crea un plug-in di rendering Unidrv per generare filigrane di colore, si noti che quando il membro dwColorOptimization è impostato su COLOR_OPTIMIZATION, le filigrane di colore vengono stampate in bianco e nero quando vengono stampate su documenti neri e bianchi. Per garantire che le filigrane a colori vengano stampate correttamente con documenti di colore e bianco e nero, disabilitare l'ottimizzazione dei colori. L'ottimizzazione dei colori può essere controllata anche dall'attributo colore Unidrv *ChangeColorModeOnDoc? (vedere Attributi colore) e dalla funzione GdiEndPageEMF .

Per un elenco di valori predefiniti per ATTRIBUTE_INFO_4 membri, vedere GetJobAttributesEx.

Requisiti

Requisito Valore
Intestazione winddiui.h (include Winddiui.h, Winsplp.h)

Vedi anche

ATTRIBUTE_INFO_2

ATTRIBUTE_INFO_3

DrvQueryJobAttributes

GdiEndPageEMF

GetJobAttributesEx