ATTRIBUTE_INFO_4構造 (winddiui.h)

ATTRIBUTE_INFO_4構造体は、プリンター インターフェイス DLL の DrvQueryJobAttributes 関数のパラメーターとして使用されます。 すべてのメンバー値は関数提供です。 この構造は ATTRIBUTE_INFO_3に似ていますが、N-up、duplex、booklet の印刷、およびスケーリングを制御するための追加のメンバーが含まれています。

構文

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 ページは小冊子形式で印刷し、物理ページの片側に 2 つのドキュメント ページを印刷する必要があります。 横モードでは、2 つのドキュメント ページが用紙に並べて印刷されます。 縦モードでは、2 つのドキュメント ページが上下に印刷されます。
NORMAL_PRINT ページは通常の順序で印刷する必要があります。1 ページ、2 ページなどです。
REVERSE_PRINT ページは、最後のページ、次から最後のページなどの逆の順序で印刷する必要があります。

dwDrvPageOrderFlags

プリンターとドライバーでサポートされているページ順序オプションを示すビット フラグ。 dwJobPageOrderFlags と同じフラグを使用します。

dwJobNumberOfCopies

ユーザーが要求した印刷ジョブのコピー数。

dwDrvNumberOfCopies

照合やホチキス止めなどのジョブ属性を考慮して、プリンターとドライバーが一度に処理できるコピーの最大数。

dwColorOptimization

次のいずれかのビット フラグ値:

フラグ 定義
COLOR_OPTIMIZATION 印刷プロセッサでは、モノクロの色の最適化を使用する必要があります。
NO_COLOR_OPTIMIZATION 印刷プロセッサでは、モノクロの色の最適化を使用しないでください。

dmPrintQuality

COLOR_OPTIMIZATION フラグが dwColorOptimization に設定されている場合は、印刷ジョブの DEVMODEW 構造体の dmPrintQuality メンバーの代わりに使用する値。

dmYResolution

COLOR_OPTIMIZATION フラグが dwColorOptimization で設定されている場合は、印刷ジョブの DEVMODEW 構造体の dmYResolution メンバーの代わりに使用する値。

dwDuplexFlags

二重印刷で使用される次のビット フラグ値のいずれか。

フラグ 定義
DONT_SEND_EXTRA_PAGES_FOR_DUPLEX 両面印刷時に、印刷プロセッサは余分な空白ページを送信しないでください。 たとえば、両面印刷用に 3 ページのジョブを送信する場合、一部のプリンターでは 4 ページを受け取る必要があります。 このジョブを Microsoft Windows XP または Windows Server 2003 で印刷する場合、印刷プロセッサは既定で 4 ページをプリンターに送信します (4 番目のページは空白ページです)。 このフラグを設定して Windows Vista でこのジョブを印刷する場合、印刷プロセッサは印刷ジョブの 3 ページのみを送信し、余分な空白ページは送信しません。
REVERSE_PAGES_FOR_REVERSE_DUPLEX 印刷プロセッサは、逆二重モードで印刷する場合、ページ ペアの順序を逆にする必要があります。 たとえば、このフラグが設定されている場合、印刷プロセッサは、8、7、6、5、4、3、2、1 ではなく、7、8、5、6、2、1 の順にページを印刷する必要があります。

ドライバーにこれらのオプションが必要ない場合は、0 に設定します。

dwNupDirection

N アップ印刷で使用される次のビット フラグ値のいずれか。

フラグ 定義
RIGHT_THEN_DOWN 印刷プロセッサは、ページイメージを左から右に順番に提供し、最後に印刷されたページを下に配置する必要があります。 また、N アップ印刷が不要な場合は、この値に設定します。
DOWN_THEN_RIGHT 印刷プロセッサは、ページイメージを上から下に順番に提供し、最後の印刷ページで左から右に配置する必要があります。
LEFT_THEN_DOWN 印刷プロセッサは、ページイメージを右から左に順番に提供し、最後に印刷されたページを下に配置する必要があります。
DOWN_THEN_LEFT 印刷プロセッサは、ページイメージを上から下に順番に提供し、最後の印刷ページで右から左に提供する必要があります。

このフラグは、 dwJobNumberOfPagesPerSide または dwDrvNumberOfPagesPerSide が N アップ印刷がアクティブであることを示す場合にのみ考慮されます。 詳細については、 dwJobNumberOfPagesPerSide と dwDrvNumberOfPagesPerSide に関する上記 説明を参照してください。

dwBookletFlags

dwJobPageOrderFlags が BOOKLET_PRINT に設定されている場合は、次のいずれかの値を指定します。

フラグ 定義
BOOKLET_EDGE_LEFT 印刷プロセッサは、ページを左から右の小冊子レイアウトで印刷する必要があります。このレイアウトでは、最終的な折りたたまれた小冊子のバインドされた端がページ 1 の左端にあります。
BOOKLET_EDGE_RIGHT 印刷プロセッサは、ページを右から左に印刷する必要があります。このレイアウトでは、最終的な折りたたまれた小冊子の境界端がページ 1 の右端にあります。

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 ファイルで行われます)。印刷ジョブ全体で一貫した解像度を確保するために、ドライバーは正の dmPrintQuality 値と dmYResolution 値 (特定の DPI 解像度を表す) を指定して、同等の DEVMODEW 値をオーバーライドできます。

EMF 印刷プロセッサは 、dwColorOptimization に指定されたフラグを使用して、GDI にモノクロ色の最適化を実行するように要求するかどうかを決定します。 モノクロの色の最適化が有効になっている場合は、必要に応じてモノクロとカラー レンダリングの間で印刷ジョブを切り替えることができます。

色の透かしを生成する Unidrv レンダリング プラグインを作成する場合は、 dwColorOptimization メンバーがCOLOR_OPTIMIZATIONに設定されている場合、黒と白のドキュメントに印刷されるときに、色の透かしが白黒で印刷されることに注意してください。 色と白黒のドキュメントで色の透かしが正しく印刷されるようにするには、色の最適化を無効にします。 色の最適化は、Unidrv *ChangeColorModeOnDoc? カラー属性 ( 「色属性」を参照) と GdiEndPageEMF 関数によって制御することもできます。

ATTRIBUTE_INFO_4 メンバーの既定値の一覧については、「 GetJobAttributesEx」を参照してください。

要件

要件
Header winddiui.h (Winddiui.h、Winsplp.h を含む)

こちらもご覧ください

ATTRIBUTE_INFO_2

ATTRIBUTE_INFO_3

DrvQueryJobAttributes

GdiEndPageEMF

GetJobAttributesEx