0

//長方形を定義し、それに次の寸法を与えることで、適切なマージンを得ることができます。

var rect1:Rectangle = new Rectangle(0, 0, 792,612); 

//印刷ボタンが押されると、次のコードがrect1で定義された寸法を使用して実行されます。

prntCover_btn.addEventListener(MouseEvent.CLICK, printCover);

function printCover(evt:MouseEvent):void {
    front_mc.visible = false;
        var myPrintJob:PrintJob = new PrintJob();
        var options:PrintJobOptions = new PrintJobOptions();
        options.printAsBitmap = true;
        front_mc.scaleX = 1;
        front_mc.scaleY = 1;
        myPrintJob.start();
        myPrintJob.addPage(front_mc, rect1, options);
        myPrintJob.send();

    } 

//USpaperは792=11.5インチ幅の用紙です。A3サイズを使用したいので、myPrintJob.start();の行の後にこれを実行しました。

var margin_height:Number = (myPrintJob.paperHeight - myPrintJob.pageHeight)/2;
var margin_width:Number = (myPrintJob.paperWidth - myPrintJob.pageWidth)/2;

これは、mcをページに正しく配置するために機能していません。これがアドビのヘルプが提供するすべてです。また、グーグルでさまざまなバリエーションを試しましたが、成功しませんでした。誰か助けてもらえますか?

これについての洞察を事前に感謝します。

アニー

4

1 に答える 1

2

何を達成しようとしているのかが少し不明確なので、質問を少し明確にすることができます...私が正しく理解していれば、おそらく大きな紙の真ん中に何かを印刷したいと思うでしょう。

ユーザーが選択した用紙サイズは、呼び出した後でのみ取得できるため、後でパラメーターPrintJob.start()を定義する必要があります。printAreaprintArea、印刷されるDisplayObjectを基準にして長方形を定義するため、DisplayObjectを中央に配置するには、DisplayObjectが長方形の中央にあることを確認する必要があります。

var myPrintJob:PrintJob = new PrintJob();
var options:PrintJobOptions = new PrintJobOptions();
options.printAsBitmap = true;
front_mc.scaleX = 1;
front_mc.scaleY = 1;
myPrintJob.start();

var marginWidth:Number = (myPrintJob.pageWidth - front_mc.width) / 2;
var marginHeight:Number = (myPrintJob.pageHeight- front_mc.height) / 2;
var rect:Rectangle = new Rectangle(-marginWidth, -marginHeight, myPrintJob.pageWidth, myPrintJob.pageHeight);

myPrintJob.addPage(front_mc, rect1, options);
myPrintJob.send();
于 2009-10-29T07:19:15.740 に答える