共用方式為


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 列印為使用中時,才會考慮此旗標。 如需詳細資訊,請參閱上述 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 必須具有相同的值。

言論

如果 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)

另請參閱

ATTRIBUTE_INFO_2

ATTRIBUTE_INFO_3

DrvQueryJobAttributes

GdiEndPageEMF

GetJobAttributesEx