JavaScript在Acrobat中工作但不在Reader中工作

时间:2012-10-15 16:43:14

标签: javascript pdf adobe

我在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

2 个答案:

答案 0 :(得分:2)

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

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

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

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

答案 1 :(得分:1)

要在 Adob​​e Reader 中调用 exportAsText(),您需要在文档中拥有“高级表单功能权限”。您可以在documentation 第32和251页中看到它。如果您在文档上没有这个权限,那么您将调用JavaScript代码,您将获得“安全设置阻止访问此属性或方法”。错误。

在Adobe Acrobat中创建文档时,可以设置此权限。

正如MarmiK已经告诉你的那样,读者必须允许有效内容。