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 打印作用中時,才會考慮此旗標。 如需詳細資訊,請參閱上述 dwJobNumberOfPagesPerSidedwDrvNumberOfPagesPerSide 的描述。

dwBookletFlags

如果 dwJobPageOrderFlags 設定為 BOOKLET_PRINT,下列其中一個值:

旗標 定義
BOOKLET_EDGE_LEFT 列印處理器應該在由左至右的書籍版面配置中列印頁面,其中最後一個折迭書籍的系結邊緣位於第一頁的左邊緣。
BOOKLET_EDGE_RIGHT 列印處理器應該在由右至左的書籍版面配置中列印頁面,其中最終折疊書籍的邊界位於第一頁的右邊緣。

如果 dwJobPageOrderFlags 未設定為 BOOKLET_PRINT,dwBookletFlags 會設定為 0。

只有當 dwJobPageOrderFlags 成員設定為BOOKLET_PRINT時,才會考慮此旗標。

dwScalingPercentX

相對於一般紙張大小的水準 (x) 方向縮放百分比。 必須介於 1 到 1000 的範圍內。 如果未完成調整,請將 設定為 100。

為了確保可預測的列印結果, dwScalingPercentXdwScalingPercentY 必須具有相同的值。

dwScalingPercentY

相對於一般紙張大小,垂直 (y) 方向的縮放百分比。 必須介於 1 到 1000 的範圍內。 如果未完成調整,請將 設定為 100。

為了確保可預測的列印結果, dwScalingPercentXdwScalingPercentY 必須具有相同的值。

備註

如果列印作業 DEVMODEW 結構的 dmPrintQuality 成員是負值,例如DMRES_HIGH,而且如果已啟用單色色彩優化,則在色彩和單色之間切換可能會導致使用不同的解析度。 這是因為DMRES_HIGH可能會指派給色彩和單色轉譯的不同 DPI 值。 (針對 Unidrv 支援的裝置,此指派會在印表機的 GPD 檔案中發生。) 為了確保整份列印作業的解析度一致,驅動程式可以指定正 dmPrintQualitydmYResolution 值, (代表特定 DPI 解析度) 覆寫對等 DEVMODEW 值。

EMF 列印處理器會使用 針對 dwColorOptimization 指定的旗標,判斷是否要求 GDI 執行單色色彩優化。 如果啟用單色色彩優化,則可以視需要在單色和色彩轉譯之間切換列印作業。

如果您要建立 Unidrv 轉譯外掛程式來產生色彩浮水印,請注意,當 dwColorOptimization 成員設定為 COLOR_OPTIMIZATION 時,色彩浮水印會在列印於黑白檔時以黑白列印。 若要確保色彩浮水印使用色彩和黑白檔正確列印,請停用色彩優化。 色彩優化也可以由 Unidrv *ChangeColorModeOnDoc? 色彩屬性控制 (請參閱 色彩屬性) ,以及 GdiEndPageEMF 函式。

如需ATTRIBUTE_INFO_4成員的預設值清單,請參閱 GetJobAttributesEx

此結構可在 Windows Vista 中使用。

規格需求

需求
標頭 winsplp.h (包括 Winddiui.h、Winsplp.h)

另請參閱

ATTRIBUTE_INFO_2

ATTRIBUTE_INFO_3

DrvQueryJobAttributes

GdiEndPageEMF

GetJobAttributesEx