使用acrobat javascript编写文本文件

时间:2012-12-07 09:38:38

标签: javascript acrobat

尝试使用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)!

1 个答案:

答案 0 :(得分:3)

  1. 正如您可能已经猜到的那样,这是防止恶意脚本造成破坏的安全措施。您需要调低安全设置。要执行此操作,请按Ctrl + K进入“首选项”,转到“增强的安全性”选项卡并禁用它。

    有关增强安全性的其他信息,请参阅:http://www.adobe.com/devnet-docs/acrobatetk/tools/AppSec/enhanced.html

  2. 据我所知,没有任何函数可以让您将任意数据写入文本文件或XML文件。但是,您有几个选择:

    • 使用Doc.exportAsText(文本)和Doc.exportAsFDF(XML)从精心设计的字段中导出数据。这不是很直接而且有点尴尬,但它确实有效。

    • 使用Net.HTTP.requestNet.SOAP将数据发送到ad-hoc本地Web服务器(例如:简单,运行Python或PHP)并让他们处理请求。这使您可以做任何你想做的事情,但需要更多的工作来设置服务器。

    请参阅:Acrobat JS API Reference