是否可以在每次下载后增加的 PDF 上生成动态图章序列号?

Is it possible to generate a dynamic stamp serial number on PDFs that increases after every download?

我们有 pdf 应用程序,人们可以从我们的网站下载并邮寄实体副本。我们想为这些文件添加动态的、自生成的序列号,以便我们可以更好地了解人们在下载后花多长时间将它们邮寄回给我们,以及导致转化的下载百分比。

我尝试了 Adob​​e Acrobat 中的内置动态图章工具,我发现 Javascript(见下文)每次打开 pdf 时都会递增,但必须将其保存在本地以便增加的数量,所以那是行不通的。有没有办法让每次下载时都有一个实际数字?这是我目前的 javascript 代码:

var f = this.getField("Number");
f.value = Number(f.value)+1;
f.defaultValue = f.value;

理想情况下,这将是一个简单的代码,每次下载时将 1 个数字添加到印在我的 PDF 封面上的序列号(或者一个文本框,其中的数字增加 1)。

遗憾的是,不可能完全在文档中生成这样的序列号,因为文档是不可变的,不知道正在下载。

为此,您需要添加一个服务器端进程来更改 PDF 内容并在每次下载时提供不同的文件。如果您将序列号存储在 PDF 的元数据中,您可以使用 exiftoolgs 来更新它(参见 related question)。

或者,可以使用简单的全局替换文件中的占位符文本。例如。如果您包含文本 SERIAL_NUMBER_PLACEHOLDER,您可以在将文件提供给客户端之前将其替换为实际数字。