カスタム検索
その他

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

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

 

AcrobatのJavaScriptを使用して、PDFファイルに有効期限を設定します。

 

1. Acrobatで有効期限を設定したいPDFファイルを開きます。
2. テキストフィールドをページいっぱいに挿入します(ツールメニューのフォームから「テキス トフィールドツール」を選択した後、ページ左上から右下までドラッグ)。

3. テキストフィールドのプロパティの一般タブから、名前(ここでは『cover』)を設定し、表示と印刷を「表示」に設定します。

4. 「表示方法」タブから、「塗りつぶしの色」(ここでは白色)を設定します。


5. ページから1ページ目を選択し、オプションから「ページのプロパティ」を開きます。

6. アクションタブから、トリガは「ページを開く」、アクションは「JavaScriptを実行」を選択し「追加」ボタンをクリックします。

7. JavaScriptエディタに下記コードを貼り付けます。
※ 下記コード内「this.getField("***");」の「***」には、3.で設定したフィールド名を入れます。
※ 必要に応じて有効期限を変更してください。

var myDate = "2008/09/01" //有効期限
var myField = this.getField("cover"); //テキストフィールド(フィールド名:cover)の取得
var d = new Date();
var s = "yyyy/mm/dd";

//現在の日付が有効期限を過ぎている場合の処理
if (myDate < util.printd(s, d)) {
  app.alert("閲覧期限 " + myDate + " を過ぎましたので文書を表示することはできません。");
  myField.display = display.visible; //テキストフィールド表示
} else {
//現在の日付が有効期限内の場合の処理
  myField.display = display.hidden; //テキストフィールド非表示
}

8. 「ページのプロパティ」画面に戻ったら、そのまま「OK」ボタンをクリックします。

※ 以降はセキュリティ設定です。

9. 「アドバンスト」メニューの「セキュリティ」から「パスワードによる暗号化」を開きます。

10.パスワードによるセキュリティ - 設定」画面から「文書の印刷および編集を制限…」にチェックを入れ、「テキスト、画像、およびその他の内容のコピーを有効にする」のチェックを外す設定にします。

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

 

以上で作業は終了です。
これで、有効期限を設定したPDF文書を開くと、有効期限が過ぎていた場合はメッセージが表示され、文書が表示されなくなります。(テキストフィールドに文書が隠されたままになります)。

 

注意点としては、パスワードでロックをかけて文書の編集を禁止しておかないと、Acrobatで有効期限内にPDF文書を開いた際、文書を閉じるときに保存確認ダイアログが表示されてしまいます(ブラウザやReaderで開いたときは保存確認ダイアログは表示されません)。