Condividi tramite


struttura ATTRIBUTE_INFO_4 (winddiui.h)

La struttura ATTRIBUTE_INFO_4 viene usata come parametro per la funzione della DLL dell'interfaccia della stampante DrvQueryJobAttributes. 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;

Membri

dwJobNumberOfPagesPerSide

Numero di pagine di documenti da posizionare 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 documento 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 di flag di bit seguenti:

Bandiera 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 di flag di bit seguenti:

Bandiera 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 all'ultima 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'associazione.

dwColorOptimization

Uno dei valori di flag di bit seguenti:

Bandiera 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 dei colori monocromatici.

dmPrintQuality

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

dmYResolution

Valore da utilizzare anziché dmYResolution membro 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:

Bandiera 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 si aspettano 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 invece di 8, 7, 6, 5, 4, 3, 2, 1.

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

dwNupDirection

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

Bandiera 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 indicare che la stampa N è attiva. Per altre informazioni, vedere le descrizioni precedenti per dwJobNumberOfPagesPerSide e dwDrvNumberOfPagesPerSide.

dwBookletFlags

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

Bandiera Definizione
BOOKLET_EDGE_LEFT Il processore di stampa deve stampare le pagine in un layout opuscolo da sinistra a destra, dove il bordo associato 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, dove il bordo associato 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 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 deve 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 deve avere lo stesso valore.

Osservazioni

Se il dmPrintQuality membro 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 non supportati da Unidrv, questa assegnazione viene eseguita nel file GPD della stampante. Per garantire una risoluzione coerente in tutto il processo di stampa, il driver può specificare dmPrintQuality e valori dmYResolution (che rappresentano una risoluzione DPI specifica) per eseguire l'override dei valori DEVMODE W 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 sta creando 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 di colore vengano stampate correttamente con documenti di colore e bianco e nero, disabilitare l'ottimizzazione dei colori. L'ottimizzazione dei colori può essere controllata anche da Unidrv *ChangeColorModeOnDoc? attributo color (vedere Color Attributes) e dalla funzione GdiEndPageEMF.

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

Fabbisogno

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

Vedere anche

ATTRIBUTE_INFO_2

ATTRIBUTE_INFO_3

DrvQueryJobAttributes

GdiEndPageEMF

GetJobAttributesEx