2009/06/24 | 13:27 pm

プリンターを起動する

flash.printing パッケージに PrintJob ってクラスがあるので、それを使えば簡単でした。

import flash.display.Sprite;
import flash.evetns.MouseEvent;
import flash.printing.PrintJob;
import flash.printing.PrintJobOptions;

public class PrintJobTest extends Sprite {

	private var pJob:PrintJob;
	private var pOption:PrintJobOptions;
	private var container:Sprite;

	public function PrintJobTest() {
		container = new Sprite();
		pJob = new PrintJob();
		pOption = new PrintJobOptions;
		pOption.printAsBitmap = true;	// デフォルトは false で、そのままだとベクター出力してくれる

		init();
	};

	private function init():void {
		container.graphics.beginFill( 0x000000 );
		container.graphics.drawRect( 0, 0, 120, 30 );
		container.endFill();

		stage.addEventListener( MouseEvent.MOUSE_DOWN, mouseDownHandler );
	};

	private function mouseDownHandler( e:MouseEvent ):void {
		pJob.start();

		try {
			pJob.addPage( container, null, options );
		} catch( e:Error ) {
			trace("プリンターに追加できませんでした。: " + e);
		}

		try {
			pJob.send();
		} catch( e:Error ) {
			trace ("プリント出来ませんでした。: " + e);
		}
	};

};

これで、120px x 30px の黒の四角がプリントアウトされます。

縦と横の向きを設定するときは、flash.printing.PrintJobOrientation; を使う。
あとは、プロパティの値とかを色々いじれば大丈夫(って信じてる)。

COMMENT

CATEGORY

POSTED

jam





JUN NAKAJIMA
Tokyo, Japan.
member of Onawatobi.
contact@brooklyn.jp