使用Acrobat JavaScript编写文本文件

6
尝试使用AcroJS在Adobe Acrobat Reader中写入文本文件。
作为一个概念,我知道如何在Acrobat中使用受信任的函数,但是当我尝试运行以下示例以保存(与原始问题不同)pdf表单并使用this.saveAs(..)另存为不同名称时,收到了错误消息。我的问题有两个:
1- 为什么会出现“安全设置防止访问此属性或方法”的错误,如何消除它?
2- javascript文件夹中的受信任函数如下(从网上复制)。
  var mySaveAs = app.trustedFunction( function(cFlName)
   {
        app.beginPriv();
       try{
             this.saveAs(cFlName);
           }
         catch(e){
              app.alert("Error During Save " + e.message );
              }
         app.endPriv();
    });

我正在从文档中调用可信函数,如下所示,并期望在"C:/test"内生成名为sample.pdf的文件。
     if(typeof(mySaveAs) == "function")
     { 
         mySaveAs("/C/test/sample.pdf");
     }
     else
     {
      app.alert("Missing Save Function");
     }

2- 我该如何写入文本文件?这里我想从PDF表单中提取一些字段值并将其写入文本文件(或XML)!

1个回答

3
  1. 正如您所猜到的那样,这是一项安全措施,旨在防止恶意脚本造成混乱。您需要降低安全设置。要做到这一点,按Ctrl+K进入“首选项”,转到“增强安全”选项卡并禁用它。

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

  2. 据我所知,没有任何函数允许您将任意数据写入文本文件或XML文件。但您有两个选择:

    • 使用 Doc.exportAsText (文本)和 Doc.exportAsFDF (XML)从精心制作的字段中导出数据。这不太直观,有点尴尬,但它是有效的。

    • 使用 Net.HTTP.request Net.SOAP 将数据发送到临时本地Web服务器(例如:运行Python或PHP的简单东西)并让它们处理请求。这允许您做几乎任何想做的事情,但需要更多的设置服务器的工作。

    请参见:Acrobat JS API参考


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接