AS3で画面印刷

画面を印刷するのって思ってたより面倒じゃなかったです。

以下は、試してみたコード。
印刷ボタンを用意しておいて、ポチっとすると画面を印刷するっていうもの。

//
var rectObj:Sprite = new Sprite(); // 印刷対象オブジェクト。
                                                 // このオブジェクト上にaddChildしたものが印刷される。
addChild(rectObject);

// prtbtn : 印刷ボタン。fl.controls.Button 
prtbtn.addEventListener(MouseEvent.CLICK, onPrt); // onPrt ボタンクリック時のメソッド

// 印刷のためのオブジェクト
var prtjob:PrintJob = new PrintJob();
var prtoptions:PrintJobOptions = new PrintJobOptions();
prtoptions.printAsBitmap = true;

// 印刷処理メソッド
function onPrt(e:Event):void {

	if(prtjob.start()) { // ダイアログ表示
		try {
			prtjob.addPage(rectObject); // オブジェクト追加
			
			/* prtjob.addPage(rectObject, null, prtoptions);  // Bitmap形式の場合 */
		} catch(e:Error) {
			trace ("addPageエラー " + e);
		}
		try {
			prtjob.send(); // 印刷
		} catch(e:Error) {
			trace ("sendエラー " + e);
		}
	}
}

コメント