印刷の概要

重要

プリンターデバイス開発におけるWindows 10および11での印刷体験をカスタマイズするために、MicrosoftのIPPインボックスクラスドライバーとPrint Support Apps (PSA)の使用を推奨します。

詳細については、プリントサポートアプリデザインガイド.

Microsoft Windows 印刷アーキテクチャは、印刷スプーラーとプリンター ドライバーのセットで構成されています。 アプリケーションは、デバイスに依存しない関数を呼び出すことによって、印刷ジョブを作成し、多数のデバイスに送信できます。 これには、レーザー プリンター、ベクター プロッター、ラスター プリンター、FAX マシンが含まれます。

プリンター ドライバーには、レンダリング コンポーネントと構成コンポーネントが含まれます。 レンダリング コンポーネントは、アプリケーションのグラフィックス コマンドを、プリンターがページ上のイメージのレンダリングに使用するデータ形式に変換します。 構成コンポーネントには、ユーザーがプリンターの選択可能なオプションを制御できるユーザー インターフェイス コンポーネントと、プリンターの構成と機能をアプリケーションに伝達するプログラム インターフェイスが含まれています。

Microsoft Win32 GDI アプリケーションは、印刷時に Win32 API で GDI 関数を呼び出します。 これらの関数は、GDI グラフィックス エンジンに情報を渡します。 GDI グラフィックス エンジンは、描画命令を拡張メタファイル (EMF) ファイルとしてスプールするか、プリンター ドライバーと共に、スプーラーに送信できる印刷可能なイメージをレンダリングします。 スプーラー コンポーネントは EMF ファイルを解釈し、ページ レイアウト情報とジョブ制御命令をデータ ストリームに挿入できます。 その後、スプーラーは、ターゲット プリンターの I/O ポートに関連付けられているシリアル、並列、またはネットワーク ポート ドライバーにデータ ストリームを送信します。 さらに、XPS デバイスに印刷する場合、GDI 印刷コマンドは GDI から XPS への変換コンポーネントを介して変換され、印刷ジョブは XPS 印刷パスに送信されます。

XPS 印刷パスでは、プリンター ドライバーは XML Paper Specification (XPS) に基づいています。 Microsoft Win32 XPS アプリケーションが印刷されると、アプリケーションは XPS Print API で XPS 関数を呼び出します。 XPSDrv プリンター ドライバーを使用してキューに出力すると、スプーラーは XPS スプール ファイルをデバイスに直接渡してレンダリングと出力を行います。 XPS ファイルを GDI デバイスに出力すると、XPS から GDI への変換モジュールを通じて EMF ファイルに変換されます。 その後、Win32 GDI アプリケーションと同様の方法で GDI 印刷パスを介して送信されます。

Windows Presentation Foundation (WPF) アプリケーションは、WPF 印刷サポート関数を呼び出して、XPS ドキュメントを XPS スプール ファイル形式でスプーラーにスプールします。 Win32 XPS アプリケーションから印刷するときと同様に、スプーラーが XPSDrv プリンター ドライバーを使用して印刷キューに印刷するとき、スプーラーは、元の形式でスプール ファイルを XPSDrv プリンター ドライバーに渡して、プリンターにレンダリングおよび出力します。 スプーラーが GDI ベースのバージョン 3 プリンター ドライバーを持つプリンターに印刷すると、スプーラーは XPS スプール ファイル形式のデータを GDI 変換モジュールに送信して、EMF ファイルに変換します。 次に、データを GDI ベースのプリンター ドライバーに送信して印刷します。 これらのデータ パスの詳細については、Windows 印刷パスの概要を参照してください。 XPS パーサーの詳細については、XML Paper Specification 概要に関する各ページを参照してください。

スプーラーコンポーネントとドライバー コンポーネントは交換できるため、ハードウェアベンダーは新しいハードウェアのサポートを簡単に追加できます。 印刷スプーラーとドライバー コンポーネントの詳細については、次のセクションを参照してください。

印刷スプーラー アーキテクチャ

プリンター ドライバー アーキテクチャ

新しいプリンターのサポートでは、通常、Microsoft が提供するプリンター ドライバーの 1 つで使用するために新しいデータ ファイルを作成するだけで済みます。 Microsoft プリンター ドライバーの詳細については、プリンター ドライバーの概要を参照してください。

Microsoft ユニバーサル プリンター ドライバーと Microsoft Postscript プリンター ドライバーの動作をカスタマイズできます。 詳細については、Microsoft のプリンター ドライバーのカスタマイズを参照してください。 印刷スプーラーをカスタマイズすることもできます。 詳細については、印刷スプーラーコンポーネントのカスタマイズを参照してください。

その他のセクションは、次のトピックで構成されています。

ターミナル サーバーの印刷

USB 印刷

Bluetooth 印刷

プリンター ドライバーのテストとデバッグ