自 1993 年推出以来,PDF 已经历多个版本,从 PDF 1.0 到 PDF 2.0。每个版本都引入了新功能:交互式表单字段、用于表单验证的 JavaScript、数字签名、嵌入式多媒体、3D 图稿、图层和增强加密。使用针对 PDF 1.7 的现代软件创建的 PDF 可能会使用 PDF 1.4 文件中根本无法表示的功能。当您合并由针对不同 PDF 版本的不同软件应用程序创建的 PDF 时,可填写的表单字段、可单击的超链接、书签和嵌入媒体等交互功能可能会在合并的输出中中断、消失或出现不可预测的行为。要在版本边界合并中保留这些功能,需要了解合并工具如何处理版本冲突,并在组合文件之前采取主动措施保护交互式内容。

PDF 版本差异如何影响交互功能兼容性
每个 PDF 版本都为格式规范引入了新功能。当合并工具组合来自不同版本的文件时,它必须决定输出的目标版本。如果该工具针对源文件中的最低公分母版本,它将删除该旧版本中不存在的功能。使用 PDF 1.7 特定属性创建的交互式表单字段可能会降级为更简单的字段或完全删除。由于目标版本不支持脚本对象,附加到表单字段的 JavaScript 操作可能会被丢弃。使用更高版本中引入的功能的超链接可能会变成纯文本。合并成功组合了页面,但未能保留交互功能。
下表将关键 PDF 版本映射到它们引入的交互功能,以及与旧文件合并时丢失这些功能的具体风险。
| PDF版本 | 主要功能介绍 | 降级时合并风险 |
|---|---|---|
| PDF 1.2 (1996) | 交互式表单字段、提交表单操作 | 字段可以被展平为静态图像 |
| PDF 1.3 (2000) | 用于表单验证、动态内容的 JavaScript | 脚本可能会被删除或完全禁用 |
| PDF 1.5 (2003) | 对象流、交叉引用流 | 结构不兼容可能会损坏合并文件 |
| PDF 1.6 (2004) | 3D 图稿、嵌入式多媒体文件 | 3D 和媒体内容在没有警告的情况下丢失 |
| PDF 1.7 (2006) | 增强的数字签名、PDF 组合 | 签名可能会失效 |
| PDF 2.0 (2017) | AES-256 加密,改进的可访问性标签 | 加密不匹配可能会完全阻止合并 |
尝试合并 PDF
无需安装。直接在您的浏览器中工作。
合并前评估交互功能风险
在合并来自不同来源的 PDF 之前,请盘点每个文件中的交互功能。打开每个 PDF 并测试每个表单字段、超链接、书签和嵌入式媒体元素。请注意每个文件的 PDF 版本,可在“描述”选项卡下的文档属性中找到。如果文件跨越显着不同的版本,并且旧文件包含很少或不包含交互功能,则最安全的方法是在合并之前将旧文件升级到新版本。大多数 PDF 编辑器可以将文件另存为较新的 PDF 版本,这会更新内部结构而不更改可见内容。
WukongPDF 的合并 PDF 工具可合并多个来源的页面。对于必须保留交互功能的文档,请通过将每个源文件保存为一致的 PDF 版本(最好是合并工具支持的最新版本)来准备每个源文件。此合并前标准化步骤为每个文件增加了几分钟的时间,但可以防止合并后发现表单字段停止工作或超链接变成纯文本的挫败感。合并后测试和修复损坏的功能的时间几乎总是大于合并前标准化的时间。
合并来自不同来源的 PDF 时处理表单字段
交互式表单字段是跨版本合并期间最常损坏的功能。 PDF 中的表单字段由特定页面上的小部件注释和文档 AcroForm 字典中的关联字段对象定义。合并不同 PDF 的页面时,合并工具必须协调每个源的 AcroForm 词典。如果词典使用不兼容的字段命名约定或引用不同 PDF 版本的功能,该工具可能会将字段扁平化为静态内容,完全失去交互性,或者重复字段名称,导致在一个字段中输入的数据出现在共享该名称的所有字段中。
在将 PDF 与表单字段合并之前,请标准化所有文件中的字段名称。如果两个 PDF 都使用名为“名称”或“日期”的字段(这在模板中极为常见),请重命名一个文件中的字段以包含唯一的前缀,例如“File1_Name”和“File2_Name”。这可以防止合并输出中的字段名称冲突。还要验证所有字段是否使用与目标 PDF 版本兼容的小部件注释。 PDF 表格 的准备工作可能很乏味,但对于生成每个表单字段都保持功能和独立的合并文档来说,这是绝对必要的。
跨版本边界保留超链接和书签
PDF 中的超链接作为链接注释存储在每个页面上,目标指定为页码、指定目标或外部 URL。书签存储在文档的大纲树中,每个书签都指向一个目的地。两种构造都对指定目的地的版本差异敏感。 PDF 1.2 及更高版本支持命名目标,它们是在页面重新排序后仍然存在的符号引用。早期版本依赖于显式页码,在合并过程中插入或删除页面时,页码会中断。
要在跨版本合并期间保留超链接和书签,请在合并之前将所有显式页码目标转换为命名目标。这可以通过打开每个超链接和书签的链接属性并将页码引用替换为您为每个目标位置创建的命名目标来完成。对于具有许多链接的文档来说,转换非常耗时,但另一种选择是接受某些链接将被破坏。对于链接完整性很重要的关键文档,PDF 链接 保存工作是不可协商的。
测试合并文档的交互功能完整性
合并不同版本的 PDF 后,对每个交互功能进行系统测试。打开合并的文档并单击每个超链接以验证其导航到正确的目的地。打开书签面板并单击每个书签。使用 Tab 键浏览每个表单字段,输入测试数据,并验证保存并重新打开文档时数据是否仍然存在。通过触发关联的表单事件来运行任何嵌入式 JavaScript。记录任何失败的功能,以便您可以在合并的输出中修复它们,或者向文档收件人清楚地传达已知的限制。
对每个合并文档一致应用的测试清单可以在文档到达受众之前捕获功能损失。检查表不需要详细说明:交互式功能类型的简单列表以及每个功能旁边的通过或失败复选框就足够了。测试的习惯比清单的格式更重要。 PDF 链接 和使文档具有交互性的表单字段也使得跨版本合并成为一项需要验证的任务,而不是简单的组合操作。
尝试合并 PDF
无需安装。直接在您的浏览器中工作。
