PDF 更改可以撤消吗?

Can PDF changes be reversed?

如果我使用 Adob​​e PDF pro 更改 PDF 上的文本编号,然后我将编辑后的 ​​PDF 通过电子邮件发送给某人,他们可以看到我所做的哪些更改?我的理解是,他们可以在元数据中看到它被编辑过以及由谁编辑过,但是他们能看到更改了什么元素和以前的版本吗?

我有时会看到 PDF 文件在编辑后变大,我想知道这是否是由于文档保存的历史记录所致。

这取决于更改的应用方式。除了简单地从头开始保存 pdf 的新状态之外,pdf 标准还知道 增量更新 的概念。使用此技术,更改会附加到原始文件的末尾。

如果使用增量更新应用更改,则可以通过简单地切割增量更新数据来检索先前修订的确切状态。

我见过 Adob​​e Reader 使用这两种技术。增量更新始终用于签名文件(包括仅使用使用权签名签名的文件!),但我认为 Adob​​e 在其他一些情况下也会使用增量更新。


还有其他情况,即使使用从头开始保存,原始内容仍然存在:

PDF 不仅知道每个页面和注释的 canvases,它们还知道独立的,形成 XObjects。可以通过引用将表单 XObject 的部分添加到另一个 canvas。

如果这样的表单 XObject 被多个其他 canvases 引用,然后在其中一个引用 canvases 的上下文中被编辑(例如,在编辑特定页面的过程中它用于),通常会创建和编辑该 XObject 的副本,然后从那个 canvas 引用该副本,而所有其他引用 canvas 仍然引用原始版本。

在这种情况下深入研究 pdf 内部结构的人可以找到原始的、未经编辑的变体。