- OpenLaszlo紹介
- プログラム構造関連
- スクリプト
- Javascript基礎
- 基礎知識
- ビュー<view>
- レイアウト
- 動かす
- 入力デバイス
- 文字
- 数値
- 日付
- オブジェクト指向
- 標準コンポーネント
- データの扱い
- データ操作(基礎)
- 応用編
–
下記print()メソッドで、印刷したいビューを指定して印刷できます。
<method name="print" args="v,isBitmap">
var p = new PrintJob();
if(p.start()){
p.addPage(v.getMCRef(),{xMin:0,xMax:550,yMin:0,yMax:800},
{printAsBitmap:isBitmap});
p.send();
}
delete p;
</method>
このprint()メソッドの引数は2つ:
[1] 印刷対象ビュー名・・・指定必須。
[2] true/false・・・任意。なければfalse。
true:ビットマップ形式で印刷。透過効果を維持できます。
false(デフォルト):ベクタ形式で印刷。なんとなく高品質。
▼サンプルは赤、青、黄のビューが透明度0.5になっていますので、これらがきちんと透過されているかベタになっているかで、ベクタとビットマップと印刷の違いを体感できます。
<?xml version="1.0" encoding="UTF-8"?> <canvas proxied="false" bgcolor="0xeeeeee"> <method name="print" args="v,isBitmap"> // 引数:印刷対象ビュー名,(true=ビットマップ,false=ベクタ) var p = new PrintJob(); if(p.start()){ p.addPage(v.getMCRef(),{xMin:0,xMax:550,yMin:0,yMax:800}, {printAsBitmap:isBitmap}); p.send(); } delete p; </method> <simplelayout/> <button onclick="canvas.print(pv)">印刷(ベクタ)</button> <button onclick="canvas.print(pv,true)">印刷(ビットマップ)</button> <!-- 印刷対象ビュー --> <view id="pv" width="512" height="384"> <vbox resource="icons/gazoutest.png" spacing="5"> <view width="512" height="90" bgcolor="blue" opacity="0.5"/> <view width="512" height="90" bgcolor="red" opacity="0.5"/> <view width="512" height="90" bgcolor="yellow" opacity="0.5"/> <text align="center" fontsize="50" fgcolor="white">印刷テスト</text> <window title="ウインドウ" align="center" valign="middle" width="200" height="200" resizable="true" options="ignorelayout"> <vbox spacing="3"> <edittext width="150"/> <text>これはウインドウ</text> <checkbox>ダミー</checkbox> <radiobutton>ダミー</radiobutton> </vbox> </window> </vbox> </view> </canvas>
▼印刷の流れ (1) 印刷ジョブの新しいインスタンスを生成。 (2) OSの印刷処理を開始。印刷ダイアログボックスが表示される。 (3) ムービークリップの取得 (4) 印刷スプールにページ追加。 (5) 印刷スプールのページをOSのプリンタに送信。 (6) 印刷ジョブを削除 ※参考情報 A4サイズ = 210mm×297mm = 597ピクセル×844ピクセル(72dpi) http://minic.press.ne.jp/blogs/web/000016.htmlより