2012-12-07 114 views
5

嘗試使用AcroJS寫入帶有Adobe Acrobat Reader的文本文件。使用acrobat javascript寫入文本文件

作爲一個概念,我得到了如何在Acrobat中使用可信功能,但是當我試圖運行下面的例子來保存(不同的問題,然後原來的)在不同的名稱下使用this.saveAs(..)錯誤。 我的問題是兩倍;

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信任功能並期待名爲sample.pdf文件將內部產生「C:/ test」

 if(typeof(mySaveAs) == "function") 
    { 
     mySaveAs("/C/test/sample.pdf"); 
    } 
    else 
    { 
     app.alert("Missing Save Function"); 
    } 

2-如何寫入文本文件?在這裏我想從PDF表格中提取一些字段值並將其寫入文本文件(或XML)中!

回答

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將數據發送到專門的本地Web服務器(例如:簡單的東西,運行Python或PHP)並讓他們處理請求。這可以讓你做任何你想做的事情,但是需要更多的工作來設置服務器。

    參見:Acrobat JS API Reference