JavaScript в PDF может вызывать JS на веб-странице и наоборот, если ОБА настроены для этого. документацию Acrobat вы можете найти здесь .
Ознакомьтесь со спецификацией HostContainer
, начиная со страницы 486. В PDF вам понадобится скрипт типа:
var document = this; // hurray for closures.
this.hostContainer.messageHandler = { onDisclose: function() {return true;},
onMessage: function(msgArrayIgnored) {
// build a JSON string of field/value pairs
var outgoingMessage = "{ ";
for (var i = 0; i < this.numFields; ++i) {
var fldName = document.getNthFieldName(i);
var fld = document.getField(fld);
var val = fld.value;
// you'll probably need to escape 'val' to be legal JSON
outgoingMessage += fldName + ": \"" + val + "\";
// stick in a comma unless this is the last field
if (i != this.numFields-1) {
outgoingMessage += ", ";
}
}
outgoingMessage += "};";
this.hostContainer.postMessage( [outgoingMessage] );
};
В HTML нужно настроить что-то похожее.Предположим, ваш pdf встроен в тег объекта, а идентификатор этого элемента - «pdfElem».Ваш HTML-скрипт может выглядеть примерно так:
var pdf = document.getElementById("pdfElem");
pdf.messageHandler = function(message) {
var fldValPairs = eval(message);
doStuffWithFieldInfo(fldValPairs);
};
Позже, в любое время, когда вы захотите просмотреть информацию о поле PDF, вы отправляете сообщение, и PDF перезвонит pdf.messageHandler со строкой JSON, завернутой вмассив:
pdf.postMessage(["this string is ignored"]);
Возможно, где-то там скрывается одна или две ошибки, но это приведет вас на правильный путь.