カスタム検索
その他

PDFファイルに有効期限を設定する(一括設定) (Acrobat JavaScript)

※ 動作確認はAdobe Acrobat 8 Professionalで行いました。

 

PDFファイルに有効期限を設定する」で、Acrobat JavaScriptを使ってPDFファイルに有効期限を設定する方法について紹介しましたが、全ページに対して1ページずつ設定するのは大変なので、今回はフィールドとスクリプトの挿入もJavaScriptで行う方法を紹介します。

 

1. Acrobatで有効期限を設定したいPDFファイルを開きます。
2. 「アドバンスト」メニューの「文書処理」から「文書のアクションを設定」を開きます。

3.文書を保存する」を選択し、「編集」ボタンをクリックします。

4. JavaScriptエディタに下記コードを貼り付けます。
※ 必要に応じて覆い用のフィールド名と有効期限を変更してください。

//----------------------------------------------
// 必要に応じて以下変更
//----------------------------------------------
fName = "cover"; //覆い用フィールド名
expDate = "2008/09/01"; //有効期限
//----------------------------------------------

fncAddCover();
fncAddScript();

//すべてのページにフィールドを挿入するfunction
function fncAddCover() {
  for (var p = 0; p < this.numPages; p++) {
    var aRect = this.getPageBox({nPage: p});
    var myWidth = aRect[2];
    var myHeight = aRect[1];
    
    aRect[0] = 0; //起点(x座標)
    aRect[1] = 0; //起点(y座標)
    aRect[2] = myWidth; //幅
    aRect[3] = myHeight; //高さ
    
    var f = this.addField(fName + p, "text", p, aRect); //テキストフィールド挿入
    f.delay = true;
    f.display = display.visible; //表示
    f.borderStyle = border.s;
    f.textSize = 0; //テキストサイズ:自動
    f.textColor = color.black; //テキストカラー:黒
    f.fillColor = color.white; //背景色:白
    f.delay = false;
  }
  
  app.alert("フィールド挿入処理が終わりました。");
}

//すべてのページにスクリプト挿入するfunction
function fncAddScript() {
  for (var p = 0; p < this.numPages; p++) {
    //スクリプト文
    var myScript = 'var d = new Date();\r'
    + 'var f = this.getField("' + fName + p + '");\r'
    + 'var s = "yyyy/mm/dd";\r\r'
    + '//現在の日付が有効期限を過ぎている場合の処理\r'
    + 'if ("' + expDate + '" < util.printd(s, d)) {\r'
    + ' app.alert("閲覧期限 ' + expDate + ' を過ぎましたので文書を表示することはできません。");\r'
    + ' f.display = display.visible;\t//テキストフィールド表示\r'
    + '} else {\r'
    + ' f.display = display.hidden;\t//テキストフィールド非表示\r'
    + '}';
    
    this.setPageAction(p, "Open", myScript);
  }
  
  app.alert("スクリプト挿入処理が終わりました。");
}

5. 「アクションの設定」画面に戻るので、「OK」ボタンをクリックします。

6. ファイルを上書き保存するとスクリプトが実行され、フィールドとスクリプトが自動的に挿入されます。


7. 再度「アドバンスト」メニューの「文書処理」から「文書のアクションを設定」を開きます。
8. 再度「文書を保存する」を選択し、「編集」ボタンをクリックします。

9. JavaScriptエディタが開かれるので、「Ctrl + A」キーを押してすべてのコードを選択し、「Delete」キーを押して削除します。

10. 「アクションの設定」画面に戻ったら、コードが削除されていることを確認して、「OK」ボタンをクリックします。

11. PDF文書を保存します。

 

以上で作業は終了です。
「ページのプロパティ」から「アクション」を開くと、ページを開いたときのアクションに「JavaScriptを実行」が設定されていることが確認できます。



※ セキュリティの設定については「PDFファイルに有効期限を設定する」を参照してください。