1

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

我在舞台上有一个 792 x 612 像素的影片剪辑。舞台尺寸也是 792 x 612。这是嵌入到 HTML 页面中的。

下面是一个截图。添加了红色边框以显示影片剪辑的 792 x 612 边缘的位置。实际上,红色边框是白色的,不可见。 在此处输入图像描述

我正在尝试将其打印到 8.5 x 11 的纸上。

我的打印功能如下所示(页面加载后立即触发):

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

添加它们只会使过程复杂化并产生不良影响,再次导致部分图像未打印。

4

1 回答 1

0

最后,这就是让它起作用的原因:

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;

但由于影片剪辑正在旋转,我需要影片剪辑的宽度与页面高度相匹配,高度与页面宽度相匹配。

于 2013-05-22T17:53:48.093 回答