6

AcroJSを利用してAdobe Acrobat Readerでテキストファイルに書き込もうとしています。

概念として、Acrobat で信頼できる関数を使用する方法を理解しましたが、次の例を実行して保存しようとすると (元とは異なる問題)、this.saveAs(..) を使用して別の名前で PDF フォームを保存しようとすると、エラーが発生しました。私の質問は 2 つあります。

1-「セキュリティ設定により、このプロパティまたはメソッドへのアクセスが禁止されています」というエラーが表示されるのはなぜですか?また、それを取り除くにはどうすればよいですか?

javascript フォルダーの信頼できる関数は次のとおりです (web からコピー)

  var mySaveAs = app.trustedFunction( function(cFlName)
   {
        app.beginPriv();
       try{
             this.saveAs(cFlName);
           }
         catch(e){
              app.alert("Error During Save " + e.message );
              }
         app.endPriv();
    });

ドキュメントから信頼できる関数を次のように呼び出しています。sample.pdf という名前のファイルが「C:/test」内に生成されることを期待しています。

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

2- テキスト ファイルに書き込むにはどうすればよいですか? ここでは、PDF フォームからいくつかのフィールド値を抽出し、それらをテキスト ファイル (または XML) に書き込みます。

4

1 に答える 1

3
  1. ご想像のとおり、これは悪意のあるスクリプトによる大混乱を防ぐためのセキュリティ対策です。セキュリティ設定を無効にする必要があります。これを行うには、Ctrl+K で [設定] に移動し、[セキュリティ強化] タブに移動して無効にします。

    セキュリティ強化の詳細については、http ://www.adobe.com/devnet-docs/acrobatetk/tools/AppSec/enhanced.html を参照してください。

  2. 私の知る限り、任意のデータをテキスト ファイルまたは XML ファイルに書き込むことができる関数はありません。ただし、いくつかのオプションがあります。

    • Doc.exportAsText(テキスト) と(XML) を使用Doc.exportAsFDFして、慎重に作成されたフィールドからデータをエクスポートします。これはそれほど単純ではなく、少し厄介ですが、うまくいきます。

    • Net.HTTP.requestまたはを使用Net.SOAPして、データをアドホック ローカル Web サーバー (例: Python または PHP を実行している単純なもの) に送信し、要求を処理させます。これにより、ほとんどのことを実行できますが、サーバーをセットアップするにはさらに多くの作業が必要になります。

    参照先: Acrobat JS API リファレンス

于 2013-01-09T18:00:07.347 に答える