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

Important

デバイス メタデータは非推奨となり、Windows の今後のリリースで削除される予定です。 この機能の置き換えについては、「 ドライバー パッケージ コンテナー メタデータ」を参照してください。

Important

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

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

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

このセクションでは...

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

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

プリンターに UWP デバイス アプリを使用したい場合は、次のようにします。

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

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

General recommendations

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

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

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

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

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

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

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

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

Samples

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

Windows 8 のサンプル

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

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

Windows 10 サンプル