用紙の向きを指定する
重要
Windows でプリンターとの通信手段として推奨されるのは、最新の印刷プラットフォームです。 プリンターデバイス開発におけるWindows 10および11での印刷体験をカスタマイズするために、MicrosoftのIPPインボックスクラスドライバーとPrint Support Apps (PSA)の使用を推奨します。
詳細については、最新の印刷プラットフォームに関する記事および「印刷サポート アプリの設計ガイド」を参照してください 。
Orientation (向き) の標準機能には、PORTRAIT (縦)、LANDSCAPE_CC90 (横向き反時計回り 90 度)、LANDSCAPE_CC270 (横向き反時計回り 270 度) の 3 つの標準オプションが関連付けられています。 特に指定しない限り、既定の向きは PORTRAIT です。 このオプションの使用に説明は不要なため、このトピックでは詳しく説明しません。 この記事では主に 2 つの横向きオプションについて扱います。
LANDSCAPE_CC90 と LANDSCAPE_CC270
Orientation (向き) 機能の LANDSCAPE_CC90 (横向き反時計回り 90 度) と LANDSCAPE_CC270 (横向き反時計回り 270 度) オプションは、縦モード時の文字と画像に適用される回転量を示し、横モードに変換します。 LANDSCAPE_CC90 オプションは、文字と画像を反時計回りに 90 度回転させます。 LANDSCAPE_CC270 オプションは、文字と画像を反時計回りに 270 度回転します。これは、時計回りに 90 度回転した場合と同じ結果になります。 どちらのオプションも、Unidrv は、文字と画像を指定された分回転させ、回転後の向きに合わせて調整します。
多くのプリンターは縦モードと横モードの両方をサポートしますが、その他のプリンター (低機能のプリンター) では縦モードのみがサポートされます。 各モードには独自の座標系があります。縦モードでは、原点は左上隅に位置します (x は右方向、y は下方向に増加します)。横モードでは、原点は左下隅に位置します (x は上方向、y は右方向に増加します)。
横モードをサポートしていないプリンターでも、この向きで文書を印刷できます。 このタイプのプリンターでは、プリンターの GPD ファイルで LANDSCAPE_CC270 オプションを指定する必要があります。 (このようなプリンターに LANDSCAPE_CC90 オプションを指定すると、印刷時に文字と画像が文字化けして表示されます)。このオプションでは、Unidrv はプリンターの左上隅の原点を基準とした座標を指定して、変換後の文字と画像をプリンターに表示します。
横/縦モードをサポートするプリンターの場合、GPD ファイルで LANDSCAPE_CC90 オプションを指定する必要があります。 このオプションを使用した場合、プリンターに landscape (横向き) コマンド文字列を発行するよう Unidrv に指示する必要があります。これにより、座標系が縦モードから横モード (左下隅に原点) に切り替わります。 その後、Unidrv は、プリンターの左下隅の原点を基準とした座標に変換された文字と画像をプリンターに表示します。
ただし、横モード (通常は LANDSCAPE_CC90 オプションが使用される) をサポートするプリンターは、LANDSCAPE_CC270 オプションも受け付けます。 このオプションを使用した場合、Unidrv は、プリンターが縦モード (つまり、左上隅に原点を持つ 1 つの座標系のみ) のみをサポートしているかのように扱うように指示されます。 したがって、座標系を変更するコマンドを発行するように Unidrv に指示することはできません。 Unidrv は、この左上隅の原点を基準にした座標を使用して変換された文字と画像をプリンターに表示します。 Unidrv はこの場所を原点とすることを想定しているため、ユーザーがプリンターのプロパティ ページで横向きを選択した場合でも、このようなプリンターには landscape mode (横モード) のコマンド文字列を発行しないでください。 次の GPD ファイルの例では、*Option: LANDSCAPE_CC270 セクションには、プリンターを縦モード (ORIENT_PORTRAIT_CMD) にするコマンドが含まれていますが、横モードにするためのコマンドは含まれていないことに注意してください。
*Feature: Orientation
{
*rcNameID: =ORIENTATION_DISPLAY
*DefaultOption: PORTRAIT
*Option: PORTRAIT
{
*rcNameID: =PORTRAIT_DISPLAY
*Command: CmdSelect
{
*Order: DOC_SETUP.60
*Cmd: =ORIENT_PORTRAIT_CMD
}
}
*Option: LANDSCAPE_CC270
{
*rcNameID: =LANDSCAPE_DISPLAY
*Command: CmdSelect
{
*Order: DOC_SETUP.60
*Cmd: =ORIENT_PORTRAIT_CMD
}
}
}
Windows 7 では、MxdcGetPDEVAdjustment 機能に横方向の回転に関する新しいパラメータが追加されました。 詳細については、MxdcXDCGetPDEVAdjustment を参照してください。