渡米生活。(日記)

渡米生活。本家から切り離しました。あまり渡米生活に関係のないプログラムネタや音楽ネタなど。

閲覧期限つきPDFファイルの作成(Adobe Acrobat)

Adobe Acrobatで閲覧期限つきのPDFファイルを作成する方法。
諸処で解説されているけど、自分用メモ。

Appleのプレビューで見ると、期限にかかわらず白くなって見えなくなります。
配布時に、Adobe Acrobatで開くように注意書きが必要かも。

1)Adobe Acrobatで文書を開く。

2)フォームから「編集」を選ぶ。フィールドフォームを検出するかきいてくるので、「いいえ」を選ぶ。(新規作成にするとフォームを自動解析しようとして面倒なことになるので)

3)テキストフィールドを隠したい部分に新規作成、隠す部分を覆うようにして設定。テキストフィールド名はデフォルトのText1でよい。複数ページを隠す場合は、全部同じフィールド名にする。必須フィールドにチェック。

4)テキストフィールドのプロパティを開き,「一般」タブを開き、表示と印刷で「表示」に設定する。

5)「表示方法」タブから,「塗りつぶしの色」で,「白色」を選ぶ。(透明チェックボックスは外す)

6)全部設定したら、「フォームの編集を綴じる」で編集終了。

7)ページサムネールから、フォームを加えたページを全部選び、右クリックで「ページのプロパティ」を選択。「アクション」を選び、トリガーは「ページを開く」、アクションの選択から「JavaScriptを実行」を選んで「追加」ボタンを押す。

窓が開くので、そこに以下のスクリプトをペースト。

var myDate = "2019/12/01"; //有効期限
var fieldprefix = "Text1"; // テキストフィールド名の接頭語
var message = "This document is expired.";   //警告メッセージ

var d = new Date();
var s = "yyyy/mm/dd";

if (myDate < util.printd(s, d)) {
  // 有効期限を過ぎている場合は白紙表示
  var myField = this.getField(fieldprefix);
  myField.display = display.visible;
  app.alert(message);

} else {
  // 有効期限内ならフィールドを表示しない
  var myField = this.getField(fieldprefix);
  myField.display = display.hidden;
}

8)ツールからJavaScriptを選び、「文書のアクションを設定」を選択
「文書を保存する」を選び「編集」ボタンを押す。以下のJavascriptを設定。

var fieldprefix = "Text1"; // テキストフィールド名の接頭語
var myField = this.getField(fieldprefix);
myField.display = display.visible;   //テキストフィールド表示

9)ツールからJavaScriptを選び、「文書のアクションを設定」を選択
「文書を保存した」を選び、以下のJavascriptを設定。

var fieldprefix = "Text1"; // テキストフィールド名の接頭語
var myField = this.getField(fieldprefix);
myField.display = display.visible;   //テキストフィールド表示

10)文書のプロパティから「セキュリティ」を選び、パスワードのセキュリティをかける。


以上、以下のページを参考にさせていただきました。
http://www.geocities.jp/habacchi1969/down/RIGHT.HTM