dポイントプレゼントキャンペーン実施中!

PDFのフォーム内で、現在日付と生年月日から現在の年齢を計算したいのですが、不慣れで分かりません・・
方法を教えてください。

質問者からの補足コメント

  • うーん・・・

    情報不足でした、すみません・・
    使用しているソフトはAcrobat Pro DCです。
    PDFファイルをフォーム化して、その中でテキストフィールドを2つ(生年月日と本日)作り、現在の年齢を計算させたいのです。
    テキストフィールドのプロパティ「計算」で、カスタムの演算スクリプトを使用すべきとは思うのですが、JavaScriptの書き方が分からず困っています・・

      補足日時:2020/03/16 15:02

A 回答 (4件)

Acrobat Pro DCをお持ちでしたらエクセル形式のファイルタイプに書き出す機能がありますので一度出力して


Excel上で計算してそれをPDFに反映するのがよいとおもいます。
    • good
    • 0

No2 です



投稿後気が付きましたが、誤記がありました。
訂正しておきます。失礼いたしました。

語  else if((d[1]=n.getMonth())&&(d[2]>n.getDate())) d[0]++;
     ↓ ↓ ↓
正  if((d[1]=n.getMonth())&&(d[2]>n.getDate())) d[0]++;
    • good
    • 1
この回答へのお礼

ありがとうございます!
助かります。早速試してみます。
お世話になりました。

お礼日時:2020/03/16 16:35

こんにちは



PDFでのスクリプトはほとんど使ったことがないので、正確かどうかはイマイチですが、一応テストしてみたところ以下のスクリプトで正常に動作しました。
なんせ、回答を作成するよりも、エディタやデバッガを表示させるのによほど時間が掛かってしまう始末でした。(すっかり忘れてたので… 大汗)

>PDFのフォーム内で、現在日付と生年月日から現在の年齢を計算したいのですが
まず、フォームの入力制限で「yyyy/mm/dd」形式の日付入力に設定しておきます。
(これによって、スクリプト側でのチェックが省けますので・・・)
この入力フィールド名を「Text1」としておきます。

適当なイベントに対して、以下のスクリプトを登録しておきます。
(年齢は「満年齢」と仮定して、誕生日を過ぎたら年齢が加算されるとしています)
サンプルなので、結果はアラート表示です。

function Sample(){
var v = this.getField("Text1").value;
var d = v.split("/");
var n = new Date();

d = d.map(function(m){ return parseInt(m); });
d[1]--;
if(d[1]>n.getMonth()) d[0]++;
else if((d[1]=n.getMonth())&&(d[2]>n.getDate())) d[0]++;

var age = n.getFullYear()-d[0];
if(age<0) age = 0;
app.alert(age);
}
    • good
    • 0

お使いのソフトは何ですか?


PDFにした時点で紙に書いた数字の状態と同じですから、PDFでは計算は出来ませんよ
紙に書いた数字が勝手に変わることはありませんよね?(^_^;
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!