我最近正在寻找一种在 adobe air 中显示的 PDF 上调用打印功能的方法。我在这个家伙的帮助下解决了这个问题,并通过在我的 PDF 上调用postMessage ,如下所示:
//this is the HTML I use to view my PDF
<object id="PDFObj" data="test.pdf" type="application/pdf"/>
...
//this actionscript lives in my air app
var pdfObj:Object = htmlLoader.window.document.getElementById("PDFObj");
pdfObj.postMessage([message]);
我也在 JavaScript 中试过这个,只是为了确保它不是 adobe 偷偷溜进来帮助我......
var obj = document.getElementById("PDFObj");
obj.postMessage([message]);
在 JavaScript 和 ActionScript 中运行良好。
我查看了 MDC对 postMessage的看法,但我发现的只是 window.postMessage。
现在,代码就像一个魅力,并且 postMessage 神奇地将我的消息发送到我的 PDF 的嵌入式 JavaScript。但是,我仍然不确定我是如何做到这一点的。
我发现adobe 在谈论这种方法,但并没有真正解释它:
HTML-PDF 通信基础
HTML 页面中的 JavaScript 可以通过调用表示 PDF 内容的 DOM 对象的 postMessage() 方法向 PDF 内容中的 JavaScript 发送消息。
任何想法如何实现?