自动计算doc打开时的今天日期,并在另一个字段中添加日期

时间:2015-06-25 13:37:04

标签: javascript date pdf

我正在使用Adobe XI Standard并且有一个带有文本字段“Today”的pdf文档,其中包含Mouse Up Java脚本

var f = this.getField("Today");
f.value = util.printd("mmm/d/yyyy", new Date());

问题1)我希望在文档打开时自动更新,而不是在鼠标进入时,但我不知道如何或将脚本放在适当的位置。

我有一个标记为“text11”的文本字段,格式为日期mm / dd / yyyy

我有另一个标记为“21stDay”的文本字段,我想在“text11”字段中的21天后计算。

问题2)我无法让任何脚本工作。任何人都可以告诉我如何使这项工作正常,以及在哪里准确地放置脚本,因为我只是一个新手。 提前谢谢!

2 个答案:

答案 0 :(得分:1)

我相信有两种可能的方法可以做到这一点:

  1. 目录根目录中的OpenAction条目,其中包含S(ub)类型JavaScript
  2. 的Action字典
  3. 在Acrobat中首次打开文档时,似乎会执行命名的JavaScripts。
  4. 对于fomer,请参见PDF v1.7参考的3.6.1节和8.5节中的表3.25以及后者的3.6.3节。

答案 1 :(得分:0)

使用仅包含该行的文档级脚本,您可以做的第一件事是:

this.getField("Today").value = util.printd("mmm/d/yyyy", new Date()) ;

如果遇到计时问题(意味着该字段未被可靠填充,请使用打开文档的页面的PageOpen事件。这样可确保仅在文档正确加载时运行脚本。

对于第二个问题,这应该有效(不是我没有验证代码):

var now = new Date() ;
var then = new Date() ;
then.setDate(now.getDate+21) ;
this.getField("text11").value = util.printd("mm/dd/yyyy", then) ;

请注意,Date对象足够智能,可以正确转换大于月末日期的日期编号。