尝试使用AcroJS写入带有Adobe Acrobat Reader的文本文件.
作为一个概念,我得到了如何在Acrobat中使用可信函数,但是当我尝试运行以下示例来保存(与原始版本不同的问题)时,使用this.saveAs(..)在不同名称下的pdf表单收到错误.
我的问题是双重的;
1-为什么我得到“安全设置阻止访问此属性或方法”错误,如何摆脱它?
javascript文件夹中的可信函数就像follwos(网页上的copeid)
var mySaveAs = app.trustedFunction( function(cFlName) { app.beginPriv(); try{ this.saveAs(cFlName); } catch(e){ app.alert("Error During Save " + e.message ); } app.endPriv(); });
我从doucment调用可信函数作为follwos并期望在“C:/ test”中生成名为sample.pdf的文件
if(typeof(mySaveAs) == "function") { mySaveAs("/C/test/sample.pdf"); } else { app.alert("Missing Save Function"); }
解决方法
>正如您可能已经猜到的那样,这是防止恶意脚本造成破坏的安全措施.您需要调低安全设置.要执行此操作,请按Ctrl K进入“首选项”,转到“增强的安全性”选项卡并禁用它.
有关增强安全性的附加信息,请参阅:http://www.adobe.com/devnet-docs/acrobatetk/tools/AppSec/enhanced.html
>据我所知,没有任何函数可以将任意数据写入文本文件或XML文件.但是,您有几个选择:
>使用Doc.exportAsText(文本)和Doc.exportAsFDF(XML)从精心设计的字段中导出数据.这不是很直接而且有点尴尬,但它有效.
>使用Net.HTTP.request或Net.SOAP将数据发送到ad-hoc本地Web服务器(例如:简单,运行Python或PHP)并让他们处理请求.这允许您执行任何您想要的任何操作,但需要更多工作来设置服务器.