次の方法で共有


ドライバー 機能

重要

Windows でプリンターとの通信手段として推奨されるのは、最新の印刷プラットフォームです。 プリンターデバイス開発におけるWindows 10および11での印刷体験をカスタマイズするために、MicrosoftのIPPインボックスクラスドライバーとPrint Support Apps (PSA)の使用を推奨します。

詳細については、最新の印刷プラットフォームに関する記事および「印刷サポート アプリの設計ガイド」を参照してください 。

ドライバー機能は、ドライバーによって合成される PPD 以外の機能です (たとえば、 %OutputFormat 機能)。 PPD 機能キーワード (keyword)と名前の競合を回避するために、すべてのドライバー機能キーワード (keyword)名の前に "%" 文字が付けられます。 ドライバーの機能/オプションキーワード (keyword)でも大文字と小文字が区別されます。

ドライバーがサポートするすべてのドライバー機能キーワード (keyword)の一覧を取得するために、プラグインは EnumFeatures を呼び出すことができます。EnumFeatures は、ドライバー機能と PPD 機能の両方を含む機能キーワード (keyword)一覧を返します。 プラグインは、"%" プレフィックスで始まる機能キーワード (keyword)名を検索して、ドライバーの機能一覧を取得できます。

次のテーブルは、現在サポートされているドライバー機能の一覧です。 テーブルの各行には、ドライバー機能キーワード (keyword)が一覧表示され、サポートされているオプションが表示され、EnumOptions の呼び出しで機能のオプションを列挙できるかどうかが示され、簡単な説明が示されます。

ドライバー機能 サポートされているオプション 列挙オプション 説明とコメント
%AddEuro "True"

"False"
はい デバイス フォントにユーロ記号を追加します。

この機能は、レベル 2 以降のプリンターでのみサポートされます。 レベル 1 プリンターの場合、 SetOptions はこの機能を 無視し 、GetOptions は常に "False" を返します。
%CtrlDAfter "True"

"False"
はい 各ジョブの後に Ctrl キーを押しながら D キーを押します。

プリンター固定。
%CtrlDBefore "True"

"False"
はい 各ジョブの前に Ctrl キーを押しながら D キーを押します。

プリンター固定。
%CustomPageSize 詳細については、以下注1を参照してください。 いいえ PostScript のカスタム ページ サイズ パラメーターを指定します。

ドキュメント固定
%GraphicsTrueGray "True"

"False"
はい 灰色のグラフィックスを PostScript グレーに変換します。

プリンター固定。
%JobTimeout タイムアウトの符号なし整数の秒数を表す 10 進数の文字を含む NULL で終わる ANSI 文字列 。範囲は 0 ~ 2,147,483,647 です。

SetOptions の場合、10 進数の前または後に追加のタブ文字またはスペース文字を使用できますが、記号記号は使用できません。
いいえ ジョブのタイムアウト値を指定します。

プリンター固定。
%MaxFontSizeAsBitmap 0 ~ 32,767 の範囲の、符号なし整数のピクセル数を表す 10 進数文字を含む NULL で終わる ANSI 文字列。

SetOptions の場合、10 進数の前または後に追加のタブ文字またはスペース文字を使用できますが、記号記号は使用できません。
いいえ ビットマップとしてダウンロードする最大フォント サイズを指定します。

プリンター固定。
%MetafileSpooling "True"

"False"
はい 高度な印刷機能を有効または無効にします。

ドキュメント固定

詳細については、以下注2を参照してください。
%MinFontSizeAsOutline 0 ~ 32,767 の範囲の、符号なし整数のピクセル数を表す 10 進数文字を含む NULL で終わる ANSI 文字列。

SetOptions の場合、10 進数の前または後に追加のタブ文字またはスペース文字を使用できますが、記号記号は使用できません。
いいえ アウトラインとしてダウンロードする最小フォント サイズを指定します。

プリンター固定。
%Mirroring "True"

"False"
はい 水平座標を反転して出力をミラー化します。

ドキュメント固定
%Negative "True"

"False"
はい 白黒の値を反転して負の出力を生成します。 この機能は、白黒プリンターでのみサポートされています。 カラープリンターの場合、 SetOptions はこの機能を 無視し 、GetOptions は常に "False" を返します。

ドキュメント固定
%Orientation "縦向き", "横向き", "縦横回転" はい 出力の向きを指定します。

ドキュメント固定
%OutputFormat "速度", "持運び性", "EPS", "アーカイブ" はい PostScript 出力形式を指定します。

ドキュメント固定

詳細については、以下注5を参照してください。
%OutputProtocol "ASCII", "BCP", "TBCP", "バイナリ" はい 印刷ジョブにプリンターが使用するプロトコルを指定します。 PostScript プリンターは "ASCII" と "バイナリ" をサポートしていると見なされるため、これらのオプションは常に使用できます。 "BCP" オプションと "TB (テラバイト)CP" オプションは、サポートされている場合にのみ使用できます。 これを確認するには、グローバル属性 "プロトコル" をチェックします。

プリンター固定。
%OutputPSLevel "1", "2", "3" いいえ 印刷ジョブに使用する PostScript 言語レベルを指定します。 この設定は、"LanguageLevel" グローバル属性で指定された値を超えることはありません。

ドキュメント固定
%PageOrder "FrontToBack"

"BackToFront"
はい ページの印刷順序を指定します。

ドキュメント固定

詳細については、以下注3を参照してください。
%PagePerSheet "1", "2", "4", "6",

"9", "16", "ブックレット"
はい 物理シートあたりの論理ページ数を指定します。 この機能は、"N-up" 印刷とも呼ばれます。

ドキュメント固定

詳細については、以下注4を参照してください。
%PSErrorHandler "True"

"False"
はい PostScript エラー ハンドラーを送信します。

ドキュメント固定
%PSMemory 0 から 2,147,483,647 の範囲で、PostScript メモリの符号なし整数 KB 数を表す 10 進数文字を含む NULL で終わる ANSI 文字列。

SetOptions の場合、10 進数の前または後に追加のタブ文字またはスペース文字を使用できますが、記号記号は使用できません。
いいえ 使用可能な PostScript 仮想メモリの量を指定します。

コア ドライバーでは、処理に使用できる一定量の PostScript 仮想メモリが必要です。 %PSMemory がこの最小値より下に設定されている場合は、最小値が新しい値として使用されます。 現在の最小値は、レベル 2 以降のプリンターの場合は 172 KB (キロバイト)、レベル 2 以降のプリンターでは 249 KB (キロバイト)です。

プリンター固定。
%TextTrueGray "True"

"False"
はい 灰色のテキストを PostScript グレーに変換します。

プリンター固定。
%TTDownloadFormat "自動", "アウトライン", "ビットマップ", "NativeTrueType" はい TrueType フォントのダウンロード形式を指定する。 "NativeTrueType" は、"TTRasterizer" グローバル属性が "Type42" のサポートを示す場合にのみサポートされます。

ドキュメント固定
%WaitTimeout タイムアウトの符号なし整数の秒数を表す 10 進数の文字を含む NULL で終わる ANSI 文字列 。範囲は 0 ~ 2,147,483,647 です。

SetOptions の場合、10 進数の前または後に追加のタブ文字またはスペース文字を使用できますが、記号記号は使用できません。
いいえ 待機時間タイム アウト値を指定します。

プリンター固定。

ドライバー機能のキーワードに関する注意事項

  1. %CustomPageSize ドライバー機能には、x、y、WidthOffset、HeightOffset、FeedDirection の 5 つのオプション値があります。 これらのパラメーターの 詳細な説明については、PostScript プリンター記述ファイル形式仕様バージョン 4.3 のセクション 5.16 を参照してください。

    %CustomPageSize エントリには%CustomPageSize キーワードと、x、y、WidthOffset、HeightOffset、FeedDirection オプションの値が含まれています。 最初の項目は %CustomPageSize キーワード (keyword)、その後に NULL 文字が続きます。 x、y、WidthOffset、および HeightOffset の値は、このキーワードに従い、それぞれ対応するオプション値の PostScript ポイントの数を表す符号なし 10 進数の部分文字列として表示されます。 これらの各数値の後に、1 つ以上のスペースまたはタブ文字が続きます。 文字列の最後の項目は、NULL 文字で終わる FeedDirection の値です。 FeedDirection のオプションは、"LongEdge"、"ShortEdge" (向き 0 と 1 に対応)、"LongEdgeFlip"、"ShortEdgeFlip" (向き 2 および 3 に対応) です。 サポートされている送り方向については、*LeadingEdge PPD 機能キーワードを確認してください。

    GetOptions の場合、pmszFeatureOptionBuf が指す出力バッファーは、前の段落で説明したとおりです。 次の例では、x の値は 612、y の値は 792、WidthOffset と HeightOffset の値は両方とも 0、FeedDirection の値は "ShortEdge" です。

    "%CustomPageSize\0612 792 0 0 ShortEdge\0"
    

    SetOptions の場合、10 進数の前または後に追加のタブ文字またはスペース文字を使用できますが、記号記号は使用できません。 それ以外の場合、pmszFeatureOptionBuf が指す入力バッファーは、上記のように構築する必要があります。

  2. %CustomPageSize ドライバー機能は、次の 3 つの条件がすべて満たされている場合にのみサポートされます:

    1. PPD ファイルには、*CustomPageSize 機能が含まれています。

    2. *PPD-Adobe キーワードの値が 4.3 以上であるか、ロールフィード デバイスを示すために *UseHWMargin: False が指定されています。

    3. *PageSize PPD 機能の現在選択されているオプションは CustomPageSize です。

  3. この機能は、スプーラー EMF スプーリングが有効になっている場合にのみサポートされます。

    サポートされている場合、この機能のオプションを "False" に設定すると、次の EMF 関連の機能が変更されます。

    1. %PagePerSheet が "Booklet" の場合は、"1" に変更されます。

    2. Collate が "True" に設定されている場合 (DEVMODEW 構造体のパブリック部分で直接設定するか、*Collate PPD 機能で SetOptions を呼び出すことによって設定できます)、Collate 機能は現在使用できませんが、Collate は "False" に設定されます。

    3. %PageOrder がプリンターの現在の出力順序設定の反対の場合、%PageOrder はプリンターの値に反転されます。

  4. この機能は、スプーラー EMF スプーリングが有効になっている場合にのみサポートされます。

    サポートされている場合、この機能を設定すると、次の処理が発生する可能性があります:

    1. プリンターの PPD ファイルに *OutputOrder 機能キーワード (keyword)が含まれている場合は、%PageOrder 機能の新しい設定の出力順序に合わせてオプションの選択が変更されます。 これは、スプーラーが不要なページオーダーシミュレーションを実行しないように実施されます。

    2. プリンターの PPD ファイルに *OutputOrder 機能が含まれていない場合、%PageOrder ドライバー機能の新しい設定がプリンターの現在の出力順序設定の反対であり、%MetafileSpooling ドライバー機能が "False" の場合、%MetafileSpooling は "True" にリセットされます。

  5. "Booklet" オプションは、スプーラー EMF スプーリングが有効で、双方向機能が使用可能な場合にのみサポートされます。

    "Booklet"オプションがサポートされている場合、%PagePerSheet ドライバー機能を "Booklet" に設定すると、次の変更が発生する可能性があります。

    1. %MetafileSpooling ドライバー機能が "False" の場合は、"True" にリセットされます。

    2. *Duplex PPD 機能が None に設定されている場合、*Duplex 機能は PPD ファイルで定義されている最初の非 Simplex オプションにリセットされます。

  6. "EPS" (カプセル化された PostScript) を除き、%OutputFormat ドライバー機能で指定された形式は、次の 2 つの特性に従って分類されます。

    1. 出力 PostScript コードはページの順序に依存しますか?

    2. 出力 PostScript コードには、デバイス制御コマンド (通常は setpagedevice 演算子を使用) が含まれていますか?

      カテゴリ ページの順序に依存しない setpagedevice
      Archive はい いいえ
      サポート性 はい はい
      速度 いいえ はい

GetOptions がドライバー機能キーワード で呼び出された場合、要求された機能キーワードが認識されない場合、または機能キーワードが認識されているが、現在のドキュメント固定モードまたはプリンター固定モードではサポートされていない場合 (「ドライバー提供のプロパティ シート ページの置き換え」を参照してください))、機能は単に無視され、出力バッファーにはその機能/オプションキーワードペアは含まれません。

たとえば、GetOptions メソッドが呼び出され、pmszFeaturesRequested 入力バッファーに次の文字列 (MULTI_SZ形式) が含まれているとします。

"Resolution\0%CustomPageSize\0Unknown_Name\0%Orientation\0\0"

GetOption が返された後、pmszFeatureOptionBuf 出力バッファーにこの文字列を含めることもできます (MULTI_SZ形式):

"Resolution\0300dpi\0%CustomPageSize\0612 792 0 0 ShortEdge\0%Orientation\0RotatedLandscape\0\0"

最初の文字列に一覧表示されているUnknown_Name機能 (存在しない) は、Pscript ドライバーによって認識されていないため、2 番目の文字列には表示されません。 その他の機能である Resolution、 %CustomPageSize%Orientation は、出力文字列に、現在のオプション (それぞれ "300dpi"、"612 792 0 0 ShortEdge"、"RotatedLandscape") と共に表示されます。 %CustomPageSize オプションの説明については、「ドライバー機能」を参照してください。

SetOptions がドライバー機能キーワード (keyword)で呼び出された場合、pmszFeatureOptionBuf が指す入力バッファー内の要求された機能キーワードまたはそのオプションキーワードが認識されない場合、または機能が認識されているが、現在のドキュメント固定モードまたはプリンター固定モードではサポートされていない場合 (「ドライバーが提供するプロパティ シート ページの置き換え」を参照))、または機能キーワードとそのオプションキーワードの両方が認識されますが、その機能のオプションキーワードが無効です (たとえば、Type42 TTRasterizer をサポートしていないプリンターで %TTDownloadFormat を "NativeTrueType" に設定しようとすると)、その機能/オプションペアは無視され、その機能の現在のオプションは続行されますが有効になります。

pmszFeatureOptionBuf が指すバッファー内の機能/オプションキーワードペアの順序は、SetOptions 呼び出しの結果に影響する可能性があります。 たとえば、次の 2 つの異なる順序では、結果が異なります。

pmszFeatureOptionBuf %PagePerSheet %MetafileSpooling
"%MetafileSpooling\0False\0%PagePerSheet\0Booklet\0\0" "Booklet" "True"
"%PagePerSheet\0Booklet\0%MetafileSpooling\0False\0\0" "1" "False"

これらの結果が発生する理由については、上記の %MetafileSpooling の 注 3 を参照してください。