9
8

More than 5 years have passed since last update.

PDFの印刷時に日付を入れる方法

Last updated at Posted at 2014-03-04

PHPの場合、TCPDFで既存のPDFファイルに出力時の日時を入れるっていう方法もあるけど、日付入れるためだけにTCPDFの環境をつくるってのも面倒。

PDFそのものに自動で入力する方法がないものかと検索するもののなかなか見つからない。けっこう需要あると思うんだけどな…

そしたら、ADOBE公式のAcrobat JavaScript Scripting Guideにちゃんと載ってるんですね。こういうのを探してたんですよ。引用

自動日付フィールドの作成

フォームでは、追跡調査を行えるように、日付を使用することがよくあります。ここでは、文書
を開いたときに現在の日付が自動的に表示されるテキストフィールドの作成手順を説明します。
文書が開いたときに現在の日付を表示するスクリプトは、文書レベルのスクリプトとして作成し
ます。

自動日付フィールドを作成するには:

  1. テキストフィールドツールを選択して、テキストフィールドを作成します(詳細は、Acrobat オンラインヘルプの「フォームフィールドの作成」の項を参照してください)。「一般」タブ を選択して、フィールドに「Today」という名前を付けます。
  2. 「フォーマット」タブを選択し、フォーマット分類で「日付」を選択し、年月日の書式オプ ション(「mmm d, yyyy」など)を選択します。このフィールドは計算フィールドですので、 「一般」タブでフィールドを読み取り専用にし、「閉じる」をクリックします。
  3. 文書が開かれるたびに実行される文書レベルスクリプトを作成します。アドバンスト/ JavaScript /文書レベル JavaScript の編集を選択します。スクリプト名に「Today」と入 力して、「追加」をクリックします。
  4. スクリプトウィンドウに、Today 関数を定義するテキストが自動的に生成されますが、これ をすべて削除します。次のテキストを、この体裁のとおりに入力して(行が折り返されるか もしれませんが、それは問題ありません)、「OK」をクリックします。 var f = this.getField("Today"); f.value = util.printd("mm/dd/yyyy", new Date()); このスクリプトでは、Today フィールドを変数 f にバインドした後、その値を計算しています。 new Date() は、初期値として現在の日時を持つ日付オブジェクトを新規作成します。util オブジェクトは、日付を月 /日 / 年の書式にするために使用しています。
  5. JavaScript エディタダイアログボックスで「OK」をクリックし、JavaScript 関数ダイアログ ボックスで「閉じる」をクリックします。 フィールドの日付は、util.printd で生成した書式ではなく、テキストフィールドのプロパ ティで選択した書式で表示されることに注意してください。

けっこういいかも

9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8