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
如果要使用的值,而不是列印作業 DEVMODEW 結構的 dmPrintQuality 成員,如果在 dwColorOptimization 中設定COLOR_OPTIMIZATION旗標。
dmYResolution
如果要使用的值,而不是列印作業 DEVMODEW 結構 成員的 dmYResolution,如果 dwColorOptimization中設定COLOR_OPTIMIZATION旗標。
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 向上列印中使用的下列其中一個位旗標值:
旗 | 定義 |
---|---|
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 必須具有相同的值。
言論
如果 dmPrintQuality 列印作業 DEVMODEW 結構的成員是負值,例如DMRES_HIGH,而且如果啟用單色色彩優化,則在色彩和單色之間切換可能會導致使用不同的解析度。 這是因為DMRES_HIGH可能會指派給色彩和單色轉譯的不同 DPI 值。 (針對 Unidrv 支援的裝置,此指派發生在印表機的 GPD 檔案中。為了確保整個列印作業的解析度一致,驅動程式可以指定正 dmPrintQuality,並 dmYResolution 值(代表特定 DPI 解析度)來覆寫對等 DEVMODEW 值。
EMF 列印處理器會使用針對 dwColorOptimization 指定的旗標, 來判斷是否要求 GDI 執行單色色彩優化。 如果已啟用單色色彩優化,可以適當地在單色和色彩轉譯之間切換列印作業。
如果您要建立 Unidrv 轉譯外掛程式來產生色彩浮水印,請注意,當 dwColorOptimization 成員設定為COLOR_OPTIMIZATION時,色彩浮水印會在黑白檔上列印時以黑白列印。 若要確保色彩浮水印使用色彩和黑白檔正確列印,請停用色彩優化。 色彩優化也可以由 Unidrv *ChangeColorModeOnDoc 控制? 色彩屬性 (請參閱 Color Attributes),以及依 GdiEndPageEMF 函式。
如需ATTRIBUTE_INFO_4成員的預設值清單,請參閱 getJobAttributesEx 。
此結構可在 Windows Vista 中使用。
要求
要求 | 價值 |
---|---|
標頭 | winsplp.h (包括 Winddiui.h、Winsplp.h) |