Unidrv でサポートされている圧縮の使用
重要
Windows でプリンターとの通信手段として推奨されるのは、最新の印刷プラットフォームです。 プリンターデバイス開発におけるWindows 10および11での印刷体験をカスタマイズするために、MicrosoftのIPPインボックスクラスドライバーとPrint Support Apps (PSA)の使用を推奨します。
詳細については、最新の印刷プラットフォームに関する記事および「印刷サポート アプリの設計ガイド」を参照してください。
GPD ファイルに CmdEnableTIFF4 コマンド エントリを含める場合、Unidrv は TIFF 4.0 圧縮を使用します。
GPD ファイルに CmdEnableDRC コマンド エントリを含める場合、Unidrv は DRC 4.0 圧縮を使用します。
GPD ファイルに CmdEnableFE_RLE コマンド エントリを含める場合、Unidrv は FE-RLE 圧縮を使用します。
プリンターでこれらの圧縮方法が複数サポートされている場合は、サポートされている各方法のコマンド エントリを含めることができます。 スキャン ラインごとに、Unidrv は各圧縮アルゴリズムを試行し、最も圧縮された結果を生成するアルゴリズムを選択します。 (カスタマイズされたアルゴリズムを含めることもできます。「カスタマイズされた圧縮の使用」を参照してください。)最適なアルゴリズムが見つかると、スキャン ライン データが圧縮されます。 次に、適切なコマンド エントリで指定されたコマンドをプリンターに送信し、その後に圧縮データを送信します。
CmdDisableCompression コマンド エントリを指定した場合、使用できる圧縮方法に関係なく、圧縮された形式よりも小さい圧縮されていないデータ ブロックが検出されると、Unidrv は圧縮データの送信を一時的に無効にします。
不要な計算を制限するため、メソッドが使用可能な結果を生成する可能性が低い場合は、(コマンド エントリを指定して) 圧縮メソッドを有効にしないでください。
ほとんどのプリンターでは、データ ブロックの外部でコマンド文字列を送信することで、圧縮データの受け入れを有効または無効にすることができます。 これらのプリンターに CmdEnableTIFF4、CmdEnableDRC、CmdEnableFE_RLE、CmdDisableCompression のエントリを指定する場合は、コマンド文字列を含めます。
一部のプリンター (通常は東アジアのプリンター) で、圧縮選択コマンドは CmdSendBlockData コマンドで送信されるラスター データに埋め込まれます。 これらのプリンターに CmdEnableTIFF4、CmdEnableDRC、または CmdEnableFE_RLE エントリを指定する場合は、コマンド文字列を含めないでください。 代わりに、コマンドを表す空の引用符で囲まれた文字列を指定します。 これは、圧縮を使用しても有効にする個別のコマンドは送信しないように Unidrv に指示します。 これらのプリンターでは、1 つの圧縮アルゴリズムのみを使用できます。 この場合、Unidrv で圧縮をオフにする方法がないため、CmdDisableCompression エントリは必要ありません。
CmdEnableTIFF4、CmdEnableDRC、CmdEnableFE_RLE、および CmdDisableCompression エントリの詳細については、「ラスター データの圧縮コマンド」を参照してください。
CmdSendBlockData の詳細については、「ラスター データの放出コマンド」を参照してください。