Actionscript 3 AS3将792 x 612 moviclip打印到8.5 x 11纸张上

Actionscript 3 AS3将792 x 612 moviclip打印到8.5 x 11纸张上,actionscript-3,printing,Actionscript 3,Printing,这应该很简单,但事实并非如此 我在舞台上有一个792x612像素的movieclip。舞台尺寸也为792x612。这被嵌入到HTML页面中 下面是一个截图。添加了红色边框以显示movieclip的792 x 612边的位置。实际上,红色边框是白色的,不可见。 我想把它打印到一张8.5x11的纸上 我的打印功能如下所示:页面加载后立即启动: var printJob:PrintJob = new PrintJob(); if (printJob.start()) { printCert_

这应该很简单,但事实并非如此

我在舞台上有一个792x612像素的movieclip。舞台尺寸也为792x612。这被嵌入到HTML页面中

下面是一个截图。添加了红色边框以显示movieclip的792 x 612边的位置。实际上,红色边框是白色的,不可见。

我想把它打印到一张8.5x11的纸上

我的打印功能如下所示:页面加载后立即启动:

var printJob:PrintJob = new PrintJob();
if (printJob.start()) {
    printCert_mc.width = 792;
    printCert_mc.height = 612;
    printCert_mc.rotation = -90;
    printJob.addPage(printCert_mc);
    printJob.send();
}
我应该这么简单,不是吗?逆时针旋转夹子-90度并打印

但是,问题是它正在切断旋转的movieClip的左边缘和上边缘。这些边在旋转之前在movieClip的法线方向上是顶部和右侧

这是对印刷品的准确描述。下图的灰色边框表示纸张的边缘:

我被难住了

我尝试添加:printCert_mc.scaleY=printCert_mc.scaleX

而且:

printCert_mc.x = (printJob.pageWidth-printCert_mc.width) / 2;
printCert_mc.y = ((printJob.pageHeight-printCert_mc.height) / 2);

添加它们只是使过程复杂化,产生了不希望的效果,部分图像也没有打印出来。

最后,这就是它工作的原因:

if (printJob.start()) {
    printCert_mc.width =  printJob.pageHeight;
    printCert_mc.height = printJob.pageWidth;
    printCert_mc.rotation = 90;
    printJob.addPage(printCert_mc);
    printJob.send();
}
最初我试过:

printCert_mc.width =  printJob.pageWidth;
printCert_mc.height = printJob.pageHeight;
但是由于电影剪辑正在旋转,我需要电影剪辑的宽度与页面高度匹配,高度与页面宽度匹配