Почему мое поле не определено в методе setAction в Javascript для Acrobat? - PullRequest
0 голосов
/ 17 июня 2020

Я использую Javascript в редакторе PDF.

Я использую эту ссылку https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/js_api_reference.pdf

Я пытаюсь установить действие в поле, когда в этом поле запускается событие mouseEnter. Ниже мой код.

var myDoc = app.newDoc(); // Create a blank doc
var Bbox = myDoc.getPageBox("Crop"); // Get crop box
var inch = 72;
// Add a text field at the top of the document
var f = myDoc.addField("Name.Last", "text", 0,[ inch, Bbox[1]-inch, 3*inch, Bbox[1]- inch - 14 ] );
f.setAction("MouseEnter", "f.textColor = color.yellow"); // Add an action

Однако я получаю следующую ошибку:

======== Field : mouse enter ========
[ Line: 00000 { ReferenceError } ] : f is not defined

Я думал, что определил поле f, используя эту строку здесь:

var f = myDoc.addField("Name.Last", "text", 0,[ inch, Bbox[1]-inch, 3*inch, Bbox[1]- inch - 14 ] );

Почему появляется сообщение о том, что мое поле не определено?

1 Ответ

1 голос
/ 17 июня 2020

Adobe Reader не может изменять содержимое страницы файлов PDF. Do c .addField () и Field.setAction () оба пытаются внести изменения в PDF, которые Reader не может сделать.

Вы получаете сообщение об ошибке, потому что поле не было добавлено, поэтому f не определено.

Вы также не можете создавать новые файлы PDF с помощью Reader.

Этот код, скорее всего, будет успешно работать, хотя я не тестировал его, в Adobe Acrobat Pro.

...