【问题标题】:Placing current date into a text field of a PDF form using JavaScript使用 JavaScript 将当前日期放入 PDF 表单的文本字段
【发布时间】:2011-07-20 18:39:15
【问题描述】:

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

我知道 PDF 可以包含 JavaScript 代码,但与网站相比存在限制。是否有可能(即 Adob​​e PDF JavaScript API 支持)有一个脚本:

  1. 在打印 PDF 时触发
  2. 可以修改文本字段或其他打印正常文本的内容
  3. 用当前日期/时间更新此字段?

【问题讨论】:

    标签: javascript forms datetime pdf dom-events


    【解决方案1】:

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

    问题在于并非所有 PDF 查看器都支持 Acrobat javascript 代码,因此 WillPrint 操作可能不会被执行。

    【讨论】:

      【解决方案2】:

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

      免责声明:我为 Gnostice 工作。

      【讨论】:

      • 哇。谢谢!这向我展示了实现它所需的条件。我会将它从 Java 转换为 pdfTeX。
      • 我在 Java 注释中添加了纯 JavaScript,以便可以轻松解除它。带有纯打印内容的 PDF 也可供下载和测试。
      猜你喜欢
      • 2010-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-16
      相关资源
      最近更新 更多