尝试使用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");
}
2-如何写入文本文件?在这里,我想从PDF表单中提取一些字段值,并将它们写入文本文件(或XML)!
答案 0 :(得分:3)
正如您可能已经猜到的那样,这是防止恶意脚本造成破坏的安全措施。您需要调低安全设置。要执行此操作,请按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)并让他们处理请求。这使您可以做任何你想做的事情,但需要更多的工作来设置服务器。