我在一个PDF编辑器中使用Javascript。
我正在使用这个参考 https:/www.adobe.comcontentdamacomendevnetacrobatpdfsjs_api_reference.pdf
我试图在一个字段上设置一个动作,当一个鼠标输入事件在该字段上被触发时,下面是我的代码。
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 ] );
为什么这个错误说我的字段没有定义?
Adobe Reader不能修改PDF文件的页面内容。Doc.addField()和Field.setAction()都试图对PDF进行修改,而Reader无法进行修改。
你得到的错误是因为字段没有被添加,所以f是未定义的。
你也不能用Reader创建新的PDF文件。
这段代码可能会在Adobe Acrobat Pro中成功运行,尽管我还没有测试过。