印刷機能そのものは単純で、printManager をgetForCurrentView()で取りだして、 onprinttaskinitializing に印刷開始処理を登録するだけのようです。 onprinttaskinitializing が null かそうでないかで画面を印刷できるかど うかが設定され、設定されていると Charms bar から Devices を選んだ時に 画像のような状態になって印刷アイコンがあらわれます。 それよりも注意すべきは、サンプルでは印刷範囲として CSS を利用しており、 print.css という印刷時のみ有効な media="print" 属性で読み込んで、印刷 したく無いものはその中で display: none を指定してありました。 ここでは、PrimoPDF を登録してテストしましたが無事 PDF が作成されました。 PrimoPDF は、http://www.primopdf.com/download.aspx よりダウンロード してインストールしていますが、事前に Windows の機能の有効化、無効化で Framework3.51 を有効にしています( Win8 は 64bit )
function onPrintTaskInitializing(event) { var printContent = document.getHTMLPrintDocument(); event.request.initializePrintTask(printContent, "Print Sample"); } function scenario1PrintContract() { if (isPrintContractRegistered) { scenarioReset(); sdkSample.displayStatus("Print Contract unregistered."); } else { var printManager = Windows.Graphics.Printing.PrintManager.getForCurrentView(); printManager.onprinttaskinitializing = onPrintTaskInitializing; isPrintContractRegistered = true; document.getElementById("scenario1Open").textContent = "Unregister"; sdkSample.displayStatus("Print Contract registered, Use the Charms bar to print."); } }
|
【Windows8 Metro(JS/C#)の最新記事】
- Win8(JS Metro)の『分割・・・』テンプレートにアプリバーを追加して、新しいページを定義する
- Win8(JS Metro)の『分割・・・』テンプレートを使って RSS を収集するサンプル
- Win8(JS Metro)の『分割・・・』テンプレートから追加のページを定義する方法
- 『分割アプリケーション』/ Win8(Metro)テンプレートのテンプレートたる意味
- Windows8(JavaScript Metro Style) 関連リンク
- Windows8 で SkyDrive にアップロードするサンプル
- Windows8 Metro(JS) で LiveSDK を使って signin してテキスト表示するだけのサンプルコードの実行
- Windows8 Metro(JS) でのカメラの利用は簡単ですが、まだ製品版では無いせいか他の処理と同時に動かすと、問題もあるようです
- Windows8 Metro(JS) で Three.js の 3D モデル表示(Canvas)を行う
- Windows8 Metro(JS)の画面切り替えが解る、jQuery とのコラボ
- Google ドキュメントを使ってソースコード配布と解説
- 余計なものを全て排除した Win8 Metro(JS) アプリの画面遷移
- querySelectorAll(結果はNodeList) と forEach( Array のメソッド ) の動作確認コード
- Win8 Metro(JS) のクラス定義用クラスでの記述仕様で、getter が存在します
- Win8 Metro で画面の表示変更は、画面部分(?)オブジェクトの入れ替えを自分で行います
- Win8 Metro(JS) : WinJS.xhr の内容(XMLHttpRequest)