2016-12-04 19 views
-1

ステージを印刷しようとすると、結果が正しく回転しません。私はそれを修正しようとしたが、私は少なくとも150のソリューションのページを笑った。私は私がしようとするプログラマーではない。とにかくそれは動作するはずですが、そうではありません。私を助けてくれますか?ボタンを使用したAS3印刷

私は「印刷」ボタンをクリックしたときにページ(スプライト)をpdfファイルとして保存したいが、デフォルト設定ではページは横長でなければならない。 さらに、ステージには図面(私はウェブで共有している誰かのコードを使用しています)がありますが、シーン全体(ボタンなど)は保存したくありません。私は図面だけを保存したい。ご協力いただきありがとうございます。

私は(。でも動作しませんでした描画全く動作しませんでした。)これを使用

btnPrint.addEventListener(MouseEvent.CLICK, onPrintClick); 
function onPrintClick(event:MouseEvent):void{ 
    var bd :BitmapData = new BitmapData(stage.width, stage.height, false); 
    bd.draw(stage); 
    var b:Bitmap = new Bitmap (bd); 
    var s:Sprite = new Sprite(); 
    s.addChild(b); 
    var myPrintjob:PrintJob = new PrintJob(); 
    myPrintjob.start(); 
    var printArea = new Rectangle(23, 65, 650, 500); 
    myPrintJob.addPage(s, printArea); 
    myPrintJob.send(); 
} 

私は(描画と印刷が働いていたが、方向が間違っていた)も、このアプローチを試してみました:

btnPrint.addEventListener(MouseEvent.CLICK, onPrintClick); 
function onPrintClick(event:Event)void{ 
    var myPrintjob:PrintJob = newPrintJob; 
    myPrintjob.start(); 
    myPrintjob.addPage(this) 
    myPrintjob.send; 
} 

私も覚えていないコードを試しました。それは指向のようでした。陸上と回転90、またはそのようなものでした。それはあまりにも機能しませんでした。おそらく私はそれを作っていませんでした。

答えて

0

の公開の場合は、PrintJob.orientationを使用してページの向きを変更できます。
start()を呼び出す前に設定する必要があります。コード例では、次のようになります。

btnPrint.addEventListener(MouseEvent.CLICK, onPrintClick); 
function onPrintClick(event:Event)void{ 
    var myPrintjob:PrintJob = new PrintJob(); 
    myPrintJob.orientation = PrintJobOrientation.LANDSCAPE; 
    myPrintjob.start(); 
    myPrintjob.addPage(this) 
    myPrintjob.send(); 
} 

残念ながら、このプロパティはFlash Player用のビルドでは設定できません。

+0

答えていただきありがとうございます。エラーはこれです: "1059プロパティは読み取り専用です。"それは私たちに変更をさせません。私ができることについて私を助けてくれますか? –

+0

ああ、申し訳ありませんが、あなたがAIR向けにパブリッシュする場合にのみ、そのプロパティを設定できるようです。 Flash Player用の読み取り専用です。私は私の答えにメモを追加します。 – Cadin

0

私はこれらのコードを使用し、彼らは仕事をしました。あなたの努力に感謝します。

function onPrintClick(event:Event):void{ 
var bd :BitmapData = new BitmapData(stage.width, stage.height, false); 
bd.draw(stage); 
var b:Bitmap = new Bitmap (bd); 
var s:Sprite = new Sprite(); 
s.addChild(b); 
var pj:PrintJob = new PrintJob(); 
pj.start(); 
pj.orientation = PrintJobOrientation.LANDSCAPE; 
var printArea = new Rectangle(Cw, Ch, 650, 500); 
pj.addPage(this);  
pj.send(); 
} 
関連する問題