Я недавно искал способ вызова функции печати в PDF, который я отображал в Adobe Air. Я решил эту проблему с небольшой помощью этого парня и вызовом postMessage в моем PDF-файле следующим образом:
//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 волшебным образом отправляет мое сообщение во встроенный JavaScript моего PDF. Тем не менее, я все еще не уверен, как я это делаю.
Я обнаружил, Adobe говорит о этом методе, но не совсем объясняет его:
Основы связи HTML-PDF
JavaScript на странице HTML может отправить сообщение JavaScript в содержимом PDF, вызвав метод postMessage () объекта DOM, представляющего содержимое PDF.
Есть идеи, как это сделать?