質問

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

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();

    } 

// U.S。paperは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をページに正しく配置するために機能していません。これはアドビのヘルプが提供するすべてです。また、Googleでさまざまなバリエーションを試しましたが、成功しませんでした。誰でも助けることができますか?

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

アニー

役に立ちましたか?

解決

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

PrintJob.start() ので、その後に printArea パラメーターを定義する必要があります。 printArea は、印刷される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();
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top