JavaScript 在 Acrobat 中工作,但在 Reader 中不工作
Posted
技术标签:
【中文标题】JavaScript 在 Acrobat 中工作,但在 Reader 中不工作【英文标题】:JavaScript working in Acrobat but not Reader 【发布时间】:2012-10-05 16:41:35 【问题描述】:我在 Acrobat 中创建了一个包含提交按钮的表单。当用户单击它时,我希望将某些字段导出为制表符分隔的文本。在 Acrobat 中,单击按钮时会打开窗口,允许我选择要导出到的文件夹,然后导出数据。在阅读器中没有任何反应。调试器给了我这个错误:
RangeError: Invalid argument value.
Doc.exportAsText:2:Field Submit:Mouse Up
我已查看,但似乎无法找到有关此错误的信息。我原来的脚本是这样的:
var aSubmitFields = new Array ( "Name", "Address")
this.exportAsText (aFields: aSubmitFields)
如您所见,它非常基础。我不明白为什么它不起作用。
编辑:从 (aFields
中删除“a”后,我收到错误:
NotAllowedError: Security settings prevent access to this property or method.
Doc.exportAsText:2:Field Submit:Mouse Up
【问题讨论】:
您需要允许高级表单功能权限。 help.adobe.com/en_US/acrobat/X/standard/using/… 你最后解决了这个问题吗? Wayback 机器从 @IlyaKharlamov web.archive.org/web/20130214082334/http://help.adobe.com/en_US/… 存档了该链接 【参考方案1】:要在 Acrobat Reader 中实现这一点,首先用户将打开工具>首选项,用户将看到安全设置。这里首先需要允许active contents
到run
执行此操作后,您的代码应该可以工作,恶意用户会利用 javascript 等活动内容,因此默认情况下禁用此功能。
安装了 HotFix 的新版本将不允许使用 JavaScript,每次应用安全热修复时都会禁用 JavaScript/Active Content 选项。
我希望这会给您一些解决方案的见解..
【讨论】:
【参考方案2】:为了能够在 Adobe Reader 中调用 exportAsText(),您需要对文档拥有“高级表单功能权限”。您可以在documentation 第 32 和 251 页中看到它。如果您在调用 JavaScript 代码的文档上没有此权限,则会收到“安全设置阻止访问此属性或方法”。错误。
在 Adobe Acrobat 中创建文档时可以设置此权限。
正如 MarmiK 已经告诉您的那样,阅读器中必须允许活动内容。
【讨论】:
以上是关于JavaScript 在 Acrobat 中工作,但在 Reader 中不工作的主要内容,如果未能解决你的问题,请参考以下文章
多个 addEventListener 如何在 JavaScript 中工作?
onbeforeunload 不/不正确在 Javascript 中工作
了解 CONTINUE 如何在 Javascript 中工作?
Javascript - 无法发布数据(使用 axios),而它在邮递员中工作。为啥?