动作脚本 - 打印

时间:2012-05-01 20:21:28

标签: actionscript-3 flash

您可以编写动作脚本来进行闪存打印 有没有办法打印定义iframe中的内容并打印?
例如:
这是一个很好的flash打印演示脚本。

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

content_mc在.fla文件中定义。我希望动作脚本能够查看当前的网页并在ifame中打印内容。 可以这样做吗? 示例将有所帮助,因为我只是在学习动作脚本。 谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

直接没有。有几个“黑客”是的。因此,要开始使用,您可以在Flex中使用ExternalInterface与javascript进行通信。这是必要的,因为你无法直接渲染IFrame作为浏览器在Flex中的范围(除了AIR,即使如此,它也不会在所有情况下都是1:1匹配)。第二步是在javascript函数中调用window.print()。您的AS看起来像这样:

ExternalInterface.call( “doJSPrint”);

最后一个“黑客”涉及将媒体设置为css,以便在HTML页面中的其他元素上正确打印/屏幕,以便打印IFrame。

相关链接:

http://www.w3.org/TR/CSS2/media.html

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html

http://www.spikything.com/blog/index.php/2009/08/23/externalinterface_howto/

祝你好运,如果你认为我可以提供更多信息,请告诉我。