印刷 (HTML)

[この記事は、Windows ランタイム アプリを作成する Windows 8.x および Windows Phone 8.x 開発者を対象としています。Windows 10 向けの開発を行っている場合は、 「最新のドキュメント」をご覧ください]

ここでは、JavaScript と HTML を使って構築された Windows ストア アプリからコンテンツを印刷する方法について説明します。

ここで説明する内容は、JavaScript と HTML でプログラムを作る方法を理解していることを前提としているため、JavaScript と HTML を使って構築された Windows ストア アプリからの印刷に関するテクニックを中心に説明します。

概要

Windows 8 でアプリから印刷するには、アプリは Windows 印刷機能にアクセスする必要があり、また印刷する書式付きコンテンツを用意する必要があります。

Windows 印刷機能へのアクセス

アプリから Windows 印刷機能にアクセスするには、ユーザーによる印刷を可能にするアプリの各ビューで印刷コントラクトに登録します。印刷コントラクトへの登録では、PrintManager オブジェクトを取得し、PrintTask オブジェクトを作り、印刷イベントを処理します。この方法については、「クイック スタート: アプリからの印刷」と「アプリ内印刷ボタンを使って印刷する方法」をご覧ください。

印刷コントラクトに登録した後、アプリで必要に応じて印刷エクスペリエンスをカスタマイズできます。既定の印刷エクスペリエンスをカスタマイズする 1 つの 方法については、「印刷ウィンドウの既定の設定を変更する方法」をご覧ください。

印刷プレビュー

Windows 印刷機能には、印刷コントラクトに登録されているすべてのアプリに対応するプレビュー機能が用意されています。最も一貫性のあるユーザー エクスペリエンスを実現するには、Windows ストア アプリでアプリ固有の印刷プレビュー機能を作るのではなく、Windows 印刷機能の印刷プレビュー機能を使う必要があります。

window.print() に関する注意事項

JavaScript 関数 window.print() を使ってアプリのコンテンツを印刷できますが、この関数は既定の印刷エクスペリエンスを使って画面に表示されているコンテンツを印刷するためのものです。残念ながら、Windows ストア アプリが画面に正しく表示されても、正しく出力されるとは限りません。 window.print() を呼び出して Windows ストア アプリから印刷した場合、最高のカスタマー エクスペリエンスを提供できない可能性があるため、アプリでは Windows ランタイム関数を使って、印刷コントラクトに登録することをお勧めします。

印刷する書式付きコンテンツの用意

Windows ストア アプリの画面表示は、印刷したときの見た目が良い書式になっていない可能性があるため、アプリで印刷専用に書式設定されたコンテンツのコピーを作る必要があります。

  独自の印刷機能 (特定のページを印刷するなど) や印刷設定を Windows ストア アプリに追加するには、C++、C#、Visual Basic のいずれかと XAML を使う必要があります。アプリへの独自の印刷機能の追加について詳しくは、「印刷 (XAML)」をご覧ください。

 

ベスト プラクティス

アプリからコンテンツを印刷する際に役に立つその他のヒントについては、「印刷できる Windows ストア アプリの開発のベスト プラクティス」をご覧ください。