use*_*104 10 javascript acrobat text
我正在使用acrobat XI我尝试输出这样的文本文件
var cMyC = "abc";
var doc = this.createDataObject({cName: "test.txt", cValue: cMyC});
this.exportDataObject({cName: "test.txt", nLaunch:0});
Run Code Online (Sandbox Code Playgroud)
这是有效的,但我想提供一个固定的路径,并且没有弹出对话框来请求用户选择保存路径
有什么方法可以解决这个问题吗?谢谢
小智 6
将文件写入用户本地磁盘的所有Acrobat JavaScript函数都存在安全风险,因此对其使用有一些限制.这些功能包括doc.saveAs()和所有数据导出功能,如doc.exportAsFDF().
你可以在这里阅读:
Acrobat为这些函数提供了两种操作模式 - 路径和路径.如果未向该函数提供路径参数,Acrobat将显示文件浏览器对话框.文件浏览器对话框使用户可以控制如何将数据保存到系统中.如果为该功能提供了路径,则不显示任何对话框,并且静默处理该操作,即,用户不一定知道数据已被保存到其硬盘驱动器中.这是一个安全问题,因此要在静默模式下使用其中一个函数,必须从特权上下文执行该函数.这意味着代码必须位于受信任的位置.例如,从控制台窗口,批处理或经过认证的PDF执行的代码具有特权.当任何这些函数与path参数一起使用并在非特权上下文中执行时,Acrobat将抛出异常.这种限制背后的原因是,如果代码不可信,那么用户必须专门选择文件位置.
将数据保存到用户系统的另一个限制是路径规范必须是安全路径.安全路径是指未指向用户硬盘驱动器上的受限位置或可能存在安全风险的路径.这些受限制的位置的示例是系统文件夹和任何硬盘驱动器的根文件夹.可能受限制的其他文件夹取决于操作系统和Acrobat开发人员的敏感度.两者都没有详细记录,因此最好仔细使用这些功能.
关于"安全路径",Acrobat JS API doc.saveAS 方法文档说明:
Acrobat 6.0引入了JavaScript方法的安全路径概念,该方法基于通过其中一个参数传递给它的路径将数据写入本地硬盘驱动器.路径不能指向系统关键文件夹,例如根目录,窗口或系统目录.路径也受其他未指定的测试的影响.对于许多方法,文件名必须具有适合于要保存的数据类型的扩展名.某些方法可能具有无覆盖限制.这些附加限制在文档中说明.通常,当判断路径不安全时,抛出NotAllowedError异常(请参阅Error对象),该方法失败.
肯定你不能用这个exportDataObject方法做,因为它没有path参数,你也可以在这里阅读:
"cName"参数是必需的输入,并指定将导出的特定文件附件.请注意,没有路径参数.事实上,此函数有一个"cPath"输入,但它不再有效.如果您尝试在此函数中使用路径,它将失败并抛出异常.调用函数的上下文无关紧要,因为从所有用法中删除了"cPath"参数.
进一步参考:
| 归档时间: |
|
| 查看次数: |
9020 次 |
| 最近记录: |