使用JavaScript将当前日期放入PDF表单的文本字段中

问题描述:

我喜欢创建一个PDF,当打印输出时包含打印日期和时间。因为实际上改变PDF内容需要一个PDF编辑器,我认为使用PDF表单(即一个包含可填写表单的PDF),其中一个文本字段会自动更新为打印PDF时的当前日期和时间。 PDF的实际创建不是这个问题的目标(目标是使用pdflatex,它可以将JavaScript放入PDF中)。使用JavaScript将当前日期放入PDF表单的文本字段中

我知道PDF可以包含JavaScript代码,但与网站相比有限制。是否有可能,即通过在Adobe PDF的JavaScript API的支持,有一个脚本:

  1. 当PDF打印
  2. 可以修改哪个印有正常的文本的文本字段或别的东西触发
  3. 用当前日期/时间更新此字段?

看到这篇文章后,我为我们的PDF产品写了一篇文章 - Creating Print-Only PDF Content - 以表明这确实是可能的。我所做的是创建一个隐藏在屏幕上但在打印时可用的表单域。然后我添加了一个JavaScript的PDF动作,使表单字段的值设置为当前日期和时间的文档“打印前”事件。

免责声明:我为Gnostice工作。

+0

哇。谢谢!这向我展示了实现它所需的条件。我将把它从Java转换成pdfTeX。 – 2011-03-23 08:38:19

+1

我在Java评论中添加了普通JavaScript,以便轻松解除它。 PDF格式的仅打印内容也可供下载和测试。 – BZ1 2011-03-24 04:13:31

是的,这是可能的。 PDF文档支持在打印文档之前执行的WillPrint操作。您可以使用JavaScript操作设置此操作,以检索当前的日期和时间,并使用此日期设置字段值。

的事情是,不是所有的PDF浏览器支持的Acrobat JavaScript代码,因此可能不会被执行WillPrint行动。