ATTRIBUTE_INFO_4 結構 (winsplp.h)
ATTRIBUTE_INFO_4 結構會當做印表機介面 DLL DrvQueryJobAttributes 函式的參數使用。 所有成員值都是函式提供的。 此結構類似於 ATTRIBUTE_INFO_3,但包含其他成員來控制 N-up、雙工和手寫簿列印,以及調整。
語法
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;
成員
dwJobNumberOfPagesPerSide
使用者要求將文件頁數放在實體頁面的一邊。 允許的值為 1、2、4、6、9 或 16。
dwDrvNumberOfPagesPerSide
印表機和驅動程式可以在實體頁面的一邊放置的文件頁數。 此值必須是 1 或為 dwJobNumberOfPagesPerSide 指定的值。
dwNupBorderFlags
下列其中一個位旗標值:
旗標 | 定義 |
---|---|
BORDER_PRINT | 列印處理器應該在頁面周圍繪製框線。 |
NO_BORDER_PRINT | 列印處理器不應該在頁面周圍繪製框線。 |
dwJobPageOrderFlags
下列其中一個位旗標值:
旗標 | 定義 |
---|---|
BOOKLET_PRINT | 頁面應該以書籍形式列印,並在實體頁面的一邊列印兩個文件頁。 在橫向模式中,兩個文件頁面會並排列印在紙張上。 在直向模式中,兩個檔頁面會列印在頂端和底部。 |
NORMAL_PRINT | 頁面應該以正常順序列印:第 1 頁、第 2 頁等等。 |
REVERSE_PRINT | 頁面應該以反向順序列印:最後一頁、下一頁,依此類推。 |
dwDrvPageOrderFlags
指出印表機和驅動程式支援的頁面排序選項的位旗標。 使用與 dwJobPageOrderFlags 相同的旗標。
dwJobNumberOfCopies
使用者所要求的列印作業複本數目。
dwDrvNumberOfCopies
印表機和驅動程式可以一次處理的複本數目上限,並將這類作業屬性納入考慮,例如定序和裝訂。
dwColorOptimization
下列其中一個位旗標值:
旗標 | 定義 |
---|---|
COLOR_OPTIMIZATION | 列印處理器應該使用單色色彩優化。 |
NO_COLOR_OPTIMIZATION | 列印處理器不應該使用單色色彩優化。 |
dmPrintQuality
如果在 dwColorOptimization 中設定了COLOR_OPTIMIZATION旗標,則為要使用的值,而不是列印作業 DEVMODEW 結構的 dmPrintQuality 成員。
dmYResolution
如果 dwColorOptimization 中設定了COLOR_OPTIMIZATION旗標,則為要使用的值,而不是列印作業 DEVMODEW 結構的 dmYResolution 成員。
dwDuplexFlags
雙工列印中使用的下列其中一個位旗標值:
旗標 | 定義 |
---|---|
DONT_SEND_EXTRA_PAGES_FOR_DUPLEX | 雙工列印時,列印處理器不應該傳送額外的空白頁面。 例如,如果您傳送三頁作業進行雙工列印,某些印表機預期會收到四頁。 如果您使用此旗標設定列印此作業,列印處理器只會傳送列印作業的三頁,而不會傳送額外的空白頁面。 |
REVERSE_PAGES_FOR_REVERSE_DUPLEX | 當以反向雙工模式列印時,列印處理器應該反轉頁面配對的順序。 例如,設定此旗標時,列印處理器應該依序列印頁面 7、8、5、6、3、4、1、2,而不是 8、7、6、5、4、3、2、1。 |
如果您的驅動程式不需要上述任何選項,請將 設定為 0。
dwNupDirection
在 N-up 列印中使用的下列其中一個位旗標值:
旗標 | 定義 |
---|---|
RIGHT_THEN_DOWN | 列印處理器應該依序從左至右提供頁面影像,然後向下提供最終列印頁面。 如果不需要 N-up 列印,也設定為這個值。 |
DOWN_THEN_RIGHT | 列印處理器應該依序從上到下提供頁面影像,然後在最終列印頁面上由左至右提供頁面影像。 |
LEFT_THEN_DOWN | 列印處理器應該依序從右至左提供頁面影像,然後向下到最後列印的頁面。 |
DOWN_THEN_LEFT | 列印處理器應該依序從上到下提供頁面影像,然後在最終列印頁面上由右至左提供頁面影像。 |
只有當 dwJobNumberOfPagesPerSide 和/或 dwDrvNumberOfPagesPerSide 指出 N-up 打印作用中時,才會考慮此旗標。 如需詳細資訊,請參閱上述 dwJobNumberOfPagesPerSide 和 dwDrvNumberOfPagesPerSide 的描述。
dwBookletFlags
如果 dwJobPageOrderFlags 設定為 BOOKLET_PRINT,下列其中一個值:
旗標 | 定義 |
---|---|
BOOKLET_EDGE_LEFT | 列印處理器應該在由左至右的書籍版面配置中列印頁面,其中最後一個折迭書籍的系結邊緣位於第一頁的左邊緣。 |
BOOKLET_EDGE_RIGHT | 列印處理器應該在由右至左的書籍版面配置中列印頁面,其中最終折疊書籍的邊界位於第一頁的右邊緣。 |
如果 dwJobPageOrderFlags 未設定為 BOOKLET_PRINT,dwBookletFlags 會設定為 0。
只有當 dwJobPageOrderFlags 成員設定為BOOKLET_PRINT時,才會考慮此旗標。
dwScalingPercentX
相對於一般紙張大小的水準 (x) 方向縮放百分比。 必須介於 1 到 1000 的範圍內。 如果未完成調整,請將 設定為 100。
為了確保可預測的列印結果, dwScalingPercentX 和 dwScalingPercentY 必須具有相同的值。
dwScalingPercentY
相對於一般紙張大小,垂直 (y) 方向的縮放百分比。 必須介於 1 到 1000 的範圍內。 如果未完成調整,請將 設定為 100。
為了確保可預測的列印結果, dwScalingPercentX 和 dwScalingPercentY 必須具有相同的值。
備註
如果列印作業 DEVMODEW 結構的 dmPrintQuality 成員是負值,例如DMRES_HIGH,而且如果已啟用單色色彩優化,則在色彩和單色之間切換可能會導致使用不同的解析度。 這是因為DMRES_HIGH可能會指派給色彩和單色轉譯的不同 DPI 值。 (針對 Unidrv 支援的裝置,此指派會在印表機的 GPD 檔案中發生。) 為了確保整份列印作業的解析度一致,驅動程式可以指定正 dmPrintQuality 和 dmYResolution 值, (代表特定 DPI 解析度) 覆寫對等 DEVMODEW 值。
EMF 列印處理器會使用 針對 dwColorOptimization 指定的旗標,判斷是否要求 GDI 執行單色色彩優化。 如果啟用單色色彩優化,則可以視需要在單色和色彩轉譯之間切換列印作業。
如果您要建立 Unidrv 轉譯外掛程式來產生色彩浮水印,請注意,當 dwColorOptimization 成員設定為 COLOR_OPTIMIZATION 時,色彩浮水印會在列印於黑白檔時以黑白列印。 若要確保色彩浮水印使用色彩和黑白檔正確列印,請停用色彩優化。 色彩優化也可以由 Unidrv *ChangeColorModeOnDoc? 色彩屬性控制 (請參閱 色彩屬性) ,以及 GdiEndPageEMF 函式。
如需ATTRIBUTE_INFO_4成員的預設值清單,請參閱 GetJobAttributesEx。
此結構可在 Windows Vista 中使用。
規格需求
需求 | 值 |
---|---|
標頭 | winsplp.h (包括 Winddiui.h、Winsplp.h) |