ドゥアイネットのプログラマー、湯川が開発日記を綴ります。

CALENDAR
S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    
<< December 2019 >>
ARCHIVES
CATEGORIES
<< MA5 受賞 | main | 細かい説明 >>
Flexでの横向き印刷
  Flexでは「FlexPrintJob」を使って印刷することができます。
 ただ、用紙横向きには対応していません。。
 
 そのまま印刷てもうまくいかないので以下のような手順が必要です。
 
 ※v_canvasが印刷対象です。
 
 この画面の表部分を横向きで印刷します。
 画像

 //まず印刷対象をBitmapDataにします。
 var bitmap:BitmapData = new BitmapData(v_canvas.width,v_canvas.height);

 bitmap.draw(v_canvas);
 var v_image:Image = new Image();
 
 //BitmapDataをImageにセットします。
 v_image.source = new Bitmap(bitmap);
 
 //横向きにするために90度まわします。
 //Imageにしたのは、ラベル表示のまま「rotation」すると字が消えてしまうからです。
 v_image.rotation = 90;
 
 //Imageをのせる前にクリアします。
 v_canvas.removeAllChildren();

 //横向きにするので、縦横を入れ替えます。
 v_canvas.width = MyReserveApp.A4Height;
 v_canvas.height = MyReserveApp.A4Width;

 v_image.y = 15;
 
 //「rotation」したときに位置がずれているのでX座標を調整します。
 v_image.x = v_canvas.width - v_image.width;
 
 v_canvas.addChild(v_image);
 
 //印刷します。
 var v_print:FlexPrintJob = new FlexPrintJob();
 
 v_print.start();
 v_print.addObject(v_canvas); 
 v_print.send();
 
 以下のようにできました。

画像
 
| Flex | 15:47 | comments(0) | - |
コメント
コメントする