【问题标题】:JavaScript working in Acrobat but not ReaderJavaScript 在 Acrobat 中工作,但在 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

【问题讨论】:

标签: javascript pdf adobe


【解决方案1】:

要在 Acrobat Reader 中实现这一点,首先用户将打开工具>首选项,用户将看到安全设置。这里首先需要允许active contentsrun

执行此操作后,您的代码应该可以工作,恶意用户会利用 JavaScript 等活动内容,因此默认情况下禁用此功能。

安装了 HotFix 的新版本将不允许使用 JavaScript,每次应用安全热修复时都会禁用 JavaScript/Active Content 选项。

我希望这会给您一些解决方案的见解..

【讨论】:

    【解决方案2】:

    为了能够在 Adobe Reader 中调用 exportAsText(),您需要对文档拥有“高级表单功能权限”。您可以在documentation 第 32 和 251 页中看到它。如果您在调用 JavaScript 代码的文档上没有此权限,则会收到“安全设置阻止访问此属性或方法”。错误。

    在 Adob​​e Acrobat 中创建文档时可以设置此权限。

    正如 MarmiK 已经告诉您的那样,阅读器中必须允许活动内容。

    【讨论】:

      最近更新 更多