プリンター用の UWP デバイス アプリ

重要

Windows 11 SDK (22000.1) のリリース以降、プリンター用の UWP アプリ開発に推奨される方法は印刷サポート アプリ (PSA) です。 印刷デバイスで PSA を使用する方法の詳細については、「印刷サポート アプリ設計ガイド」と「印刷サポート アプリの関連付け」の各トピックを参照してください。

次のセクションでは、v4 印刷ドライバー モデルをサポートするプリンター用の UWP デバイス アプリについて説明します。 UWP デバイス アプリを使用すると、カスタマイズされた印刷設定のポップアップと通知のサポートを通じたプリンターの特殊な機能を強調できます。 UWP デバイス アプリでは、プリンターの状態の表示、印刷ジョブの管理、プリンター メンテナンス タスクの実行もできます。 UWP デバイス アプリ全般の詳細については、「UWP デバイス アプリの概要」を参照してください。

次のトピックで説明する UWP デバイス アプリの機能を使用するには、プリンターが v4 印刷ドライバー モデルをサポートしている必要があります。 詳しくは、「v4 プリンター ドライバーの開発」をご覧ください。

このセクションの内容

トピック 説明
プリンターの状態を表示する方法 このトピックでは、C# バージョンの印刷設定と印刷通知のサンプルを使用して、プリンターの状態を照会して表示する方法について説明します。
印刷設定をカスタマイズする方法 このトピックでは、印刷の詳細設定ポップアップについて説明し、C# バージョンの印刷設定と印刷通知のサンプルで、既定のポップアップをカスタム ポップアップに置き換える方法について説明します。
印刷通知を使用する このトピックでは、印刷通知について説明し、C# バージョンの印刷設定と印刷通知のサンプルでバックグラウンド タスクを使用して印刷通知に応答する方法について説明します。 このバックグラウンド タスクは、通知の詳細をローカル アプリ データ ストアに保存し、トーストを送信して、タイルとバッジを更新する方法を示します。
印刷ジョブを管理する方法 Windows 8.1 では、プリンター用の UWP デバイス アプリで印刷ジョブを管理できます。 このトピックでは、C# バージョンの印刷ジョブの管理とプリンター メンテナンスのサンプルを使用して、印刷ジョブのビューを作成し、それらのジョブを監視し、必要に応じてジョブを取り消す方法について説明します。
プリンターのメンテナンスを実行する方法 Windows 8.1 では、UWP デバイス アプリで、印刷ヘッドの配置やノズルのクリーンなど、プリンター メンテナンスを実行できます。 このトピックでは、C# バージョンの印刷ジョブ管理とプリンター メンテナンスのサンプルを使用して、双方向通信 (Bidi) をどのように活用すればこのようなデバイス メンテナンスを実行できるかについて説明します。
プリンター拡張ライブラリの概要 このトピックでは、プリンター拡張機能ライブラリについて説明します。デバイスの製造元はこのライブラリを使用すると、プリンター用の UWP デバイス アプリを作成しやすくなります。

プリンター用の UWP デバイス アプリの使用シナリオ

次を行う場合は、プリンター用の UWP デバイス アプリを使用してください。

  • ページごとに複数の写真を印刷するなど、高度なデバイス機能を強調する。

  • デバイス固有の推奨事項を作成する。 たとえば、デバイス アプリを使用して、画像管理オプションを提示したり、プリンター固有の既定値を設定して保存する方法を提供したりできます。

一般的な推奨事項

  • window.print() を呼び出した後、アプリの [印刷] ボタンの onClick イベント ハンドラー内からエラー メッセージを確認し、処理します。 これにより、使用できるプリンターがない場合などに、アプリで印刷要求を中止できます。

  • 印刷が失敗した場合はユーザーに通知し、可能であれば失敗した理由を説明します。

  • 印刷エクスペリエンスをカスタマイズする場合は、このコードを印刷コンパニオン アプリに分けます。 これにより、コードをコンポーネント化し、テストとデバッグのプロセスを容易化できます。

  • V3 印刷ドライバーを使用できるように印刷エクスペリエンスをカスタマイズしないでください。

  • カスタマイズした印刷 UI で印刷デバイスのアクセサリを公開しないでください。

  • Microsoft Store デバイス アプリが呼び出された理由に関連しない販売用項目は表示しないでください。 たとえば、インクが少ないことを警告する通知をユーザーがクリックしたら、購入用の印刷カートリッジを表示するのは適切です。 しかし、この同じシナリオで、印刷コードや写真印刷キットの販売も試みるのは適切ではありません。

  • 製品販売を増やすために、ユーザーを会社の Web サイトにリダイレクトしないでください。

  • 印刷設定の設定タスクに関連しない情報は表示しないでください。 たとえば、印刷ヘッドをクリーンする方法や、印刷ノズルを配置してテストする方法に関する情報は提供しないでください。

サンプル

プリンター用の UWP デバイス アプリのサンプルでは、独自の UWP デバイス アプリに実装できるプリンター関連の機能について説明します。 各サンプルには、プリンター拡張機能を支援するために独自のアプリで再利用できる PrinterExtensionLibrary プロジェクトも含まれています。 プリンター拡張機能ライブラリは、v4 印刷ドライバーからのプリンター拡張機能インターフェイスの COM 実装をラップします。

Windows 8 のサンプル

  • 印刷ジョブの管理とプリンター メンテナンスのサンプルでは、双方向通信 (Bidi) を使用して印刷ジョブを管理し、プリンター メンテナンス タスクを実行する方法を示します。

  • 印刷設定と印刷通知のサンプルでは、印刷の詳細設定用にカスタマイズされたポップアップを提供し、プリンターの状態を表示でき、タイルまたはトーストでプリンター通知を表示できる UWP デバイス アプリの作成方法を示します。

Windows 10 のサンプル

v4 印刷ドライバーの開発

プリンター拡張機能インターフェイス (v4 プリンター ドライバー)

双方向通信

UWP アプリの概要

UWP デバイス アプリを作成する (ステップ バイ ステップ ガイド)

UWP デバイス アプリのデバイス メタデータを作成する (ステップ バイ ステップ ガイド)