0

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

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 文件中定义。我希望动作脚本查看当前网页并在 iframe 中打印内容。这可以做到吗?示例将很有帮助,因为我只是在学习动作脚本。感谢您的任何帮助!

4

1 回答 1

1

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

ExternalInterface.call("doJSPrint");

所涉及的最后一个“hack”是将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/

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

于 2012-05-02T01:44:51.407 回答