我正在使用 AS3 和 AIR 进行演示,需要能够打印单个幻灯片(可能最终打印多张幻灯片)。我根本不是程序员。过去我在 AS2 上做了一些工作,现在我从 AS3 重新开始。
我从这段代码开始:
print_btn.addEventListener(MouseEvent.CLICK,printContent);
function printContent(evt:MouseEvent) {
var printJob:PrintJob = new PrintJob();
if (printJob.start()) {
if (content_mc.width>printJob.pageWidth) {
content_mc.width=printJob.pageWidth;
content_mc.scaleY=content_mc.scaleX;
}
printJob.addPage(content_mc);
printJob.send();
}
}
这可行,但有点功能失调,不会重置剪辑等。
然后我尝试了此处发布的最终代码:AS3 using PrintJob to print a MovieClip
只需将其放入时间线并更改一些事情会效果更好。至少就启动打印对话框、调整大小、打印、“重置剪辑”等而言。唯一缺少的是在打印页面上的位置更好……而且我在让鼠标事件正常工作时遇到了问题。我尝试将其设置为尽可能接近本文中的代码,如下所示:
printSlide12_btn.addEventListener(MouseEvent.CLICK, printMovieClip);
}
function printMovieClip(clip:MovieClip):void {
但一直无法让这个或其他任何工作。我知道我可能只是在这里做一些完全错误的事情,但似乎找不到一个有帮助的例子。