转换工具问你想要 PDF/A-1b、2b 还是 3b,不给任何解释,然后等着。如果门户或归档制度已经点名了某个版本,选择就已经替你做好了,读完下一节即可停下。如果没有人说过,通常的直觉是挑最严格的那一个,理由是严格意味着安全。这个直觉是错的,而弄明白为什么错很有价值。
被混为一谈的两件事
「PDF/A-2b」是两个互不相干的答案被粘在了一起,而围绕这项标准的几乎所有困惑,都源于把它们当成一件事来读。
- 数字——1、2、3、4——是这个文件所遵循的 ISO 19005 的部分:标准的哪一版次,也因此决定了哪些 PDF 特性根本上被允许存在。
- 字母——b、u、a——是符合级别:在外观之外,文档的意义要保留多少。
所以,以「PDF/A-1b 还是 PDF/A-2b?」这种方式提出的问题,问的自始至终只是数字。两者的 b 完全相同——同一个承诺,只不过是针对按不同版次规则构建的文件作出的。这一点清楚之后,比较就变得又小又好处理。
「b」究竟承诺了什么
级别 b 代表 basic(基本),它的保证很精确:这个文件将在任何符合标准的阅读器上,长久地、可靠地重现自己的视觉外观。字体随文件一起走,颜色被绝对地定义,没有任何东西依赖外部世界。
请注意这个承诺里没有什么。没有提取文字。没有搜索。没有结构、阅读顺序,也没有让屏幕阅读器读懂页面这回事。级别 b 的文件是一个被保证「看起来正确」的对象——这恰恰是大多数归档要求所追求的,也恰恰解释了为什么一页扫描件能通过校验,同时仍是一张无法检索的图像。
1b、2b 与 3b 的差别所在
三者都会产出一个自足的文件:字体嵌入、颜色确定、不加密、不含脚本。这部分是恒定的。变化的是哪些 PDF 特性被允许存活下来:
| PDF/A-1b | PDF/A-2b | PDF/A-3b | |
|---|---|---|---|
| 发布年份 | 2005 | 2011 | 2012 |
| 基于 | PDF 1.4 | PDF 1.7 | PDF 1.7 |
| 透明 | 不允许——会被拼合 | 允许 | 允许 |
| 图层(可选内容) | 不允许 | 允许 | 允许 |
| JPEG 2000 图像 | 不允许 | 允许 | 允许 |
| 压缩的对象流/交叉引用流 | PDF 1.4 中不存在 | 允许 | 允许 |
| 嵌入附件 | 无 | 仅限其他 PDF/A 文件 | 任意类型的文件 |
| 通常体积 | 往往最大 | 小于 1b | 2b 再加上附件 |
那张表里有两行承担了大部分工作。透明是 1b 与 2b 之间的实际差别:文档里任何柔和阴影、发光或混合模式,都必须被拼合才能满足 PDF/A-1,而这会把那些区域栅格化,并可能改变它们的样子。附件则是 2b 与 3b 之间唯一的差别——在其余所有方面,PDF/A-3 就是 PDF/A-2。
体积那一行会让期待「最严格即最精简」的人意外。PDF/A-1 被钉死在 PDF 1.4 上,而 PDF 1.4 早于后来的 PDF 版本用来压缩文件内部结构的压缩对象流与交叉引用流。再加上被拼合的透明,1b 文件常常是三者中最大的那个。如果体积要紧,请先压缩再转换,绝不要反过来。
为什么更严格并不等于更安全
PDF/A-1 常被说成最安全的选择,理由是它允许的最少。这里值得把「允许得最少」在实践中的含义说准确:合规是通过销毁那些不被允许的特性来达成的。在 PDF/A-1 下,透明不是被更小心地保存了——它是被删掉了。
PDF/A-1 写于 2005 年,针对的是 2001 年的规范 PDF 1.4。它的限制描述的是四分之一世纪前 PDF 能做什么,而不是什么东西脆弱。透明和图层并不比 PDF 的其余部分更不耐久;它们只是在第 1 部分起草时尚未标准化。第 2 部分重新审视了它们、允许了它们,而它依然是一项完整的归档标准。
在合规之外,支持 PDF/A-1b 还有一个诚实的理由:它是最老、实现最广的部分,所以一套老旧的内部系统接受它的可能性略高一点。如果你要提交给一个 2008 年建成的系统,而又无人可问,这是选择它的合理理由。「感觉更严格」不是。
PDF/A-3 与附件这道题
PDF/A-3 的存在只为一个目的:让一份归档 PDF 在自己内部携带任意文件。不是再放一个 PDF/A 文件——那是 PDF/A-2 早已允许的——而是任何文件。一份电子表格、一个 XML 文档、一张 CAD 图纸。
它被设计出来所针对的场景,是混合式电子发票。Factur-X、ZUGFeRD 这类格式就是 PDF/A-3 文件:给需要看它的人一页可读的发票,同时在同一个文件里为需要处理它的记账系统嵌入结构化的发票 XML。一个文档,两类读者,也不存在两个版本各自漂移的风险。随着结构化电子发票义务在欧洲铺开,这已成为人们转换成 3b 最常见的理由。
与之对应的弱点,正是某些档案馆干脆不接受 PDF/A-3 的原因。容器本身不对它所装的东西作出任何保证。你完全可以把一个二十年后没有软件能打开的专有格式,或者一份没人能算出公式的电子表格,嵌进一个作为归档格式校验得完美无缺的文件里。PDF 是耐久的;里面装的东西未必。
如何在一分钟内做出选择
- 有人指定了版本吗?就用那一个,字母也照办。一个有效的 PDF/A-2b 文件会被要求 PDF/A-1b 的系统拒收,而本文中的其他任何内容都不能凌驾于一条明确的要求之上。
- 你需要嵌入一个机器可读的文件吗——发票 XML,或必须随文档一起走的数据文件?那就 PDF/A-3b,且仅限于此。
- 目的地是老系统,或者是一条围绕 PDF/A-1 写成的规定吗?那就 PDF/A-1b,并接受透明会被拼合这一点。
- 其他所有情况?PDF/A-2b。它是现代的默认选择,保留下你文档中最多的部分,而且在几乎所有接受 PDF/A 的地方都被接受。
关于日后改主意,有一点要提醒。你可以把一个已完成的 PDF/A 文件转换成另一种版本,但这些转换并不对称:从 2b 转到 1b 会拼合透明,而从 1b 转回 2b 并不能把它还回来——那些信息在第一次转换时就被丢弃了。请保留原始文档,而不只是归档副本;要求变了,就从源头重新生成。
没提供给你的那些级别
你可能见过有人提到 PDF/A-1a、PDF/A-2u 或 PDF/A-2a,并纳闷为什么转换器很少提供它们。答案是一个实实在在的限制,而不是少做了一个功能。
- 级别 u 要求文件中的每个字符都映射到一个 Unicode 值,从而使文字提取可靠。当源文件本身含有编码正确的真实文字时可以做到;当它没有时,则无法保证。
- 级别 a 要求带标记的文档结构:哪段文字是标题、哪些单元格属于哪张表、一页应按什么顺序阅读、它使用什么语言。这是关于文档含义的语义信息。
转换器拿到的是一页被摆好位置的字形。它能看出某段文字更大、位置更靠上;它无法知道这就使其成为标题,也无法知道双栏排版应当先向下、再向旁边读。它可以猜——而对使用屏幕阅读器的人来说,一个自信却错误的阅读顺序猜测比完全没有结构更糟,因为它产出的是像模像样的胡话,而不是一目了然的缺口。
因此级别 a 必须来自创作工具,也就是结构仍然存在的地方:从 Word、InDesign 或 LaTeX 导出带标记的 PDF,或在完整的 PDF 编辑器里手工添加标记。如果一项无障碍要求落到了一批一直只被平铺导出的文档上,那是文档生产的问题,而不是某个转换选项——而且现在发现总好过转换之后才发现。当表单和批注挡在一份干净归档副本前面时,先把它们拼合掉至少能少掉一个变量。
那么 PDF/A-4 呢?
ISO 19005-4 于 2020 年问世,在 PDF 2.0 之上重建。它同时重整了命名:a/b/u 三个级别被取消,取而代之的是一个基础符合性,外加用于带附件文件的 PDF/A-4f 和用于含 3D 内容的工程文档的 PDF/A-4e。
这是一项扎实但普及很薄的标准。递交门户、移交政策和保存期限表压倒性地仍在点名 PDF/A-1 或 PDF/A-2,而一条写于 2019 年的要求并不会自己更新。我们的转换器锁定 b 级的三种版本,原因正在于此。如果哪天有人向你提供 PDF/A-4,请先确认接收文件的一方说过他们接受它:在一种全部意义就在于让别人能打开的格式上,抢先并不是优势。
转换成你需要的那一种
转换大约需要半分钟,无需安装,也无需注册,上传的文件会在两小时后从我们的服务器上永久删除。
先把其他事情都做完
转换应当是最后一步,因为此后任何重写文件的操作都会破坏它的符合性。合并、涂黑删除、OCR、加页码和压缩,都请在开始之前完成。如果文档设有密码保护,请先去掉密码——PDF/A 不允许加密。
有意识地挑选版本
打开 PDF/A 转换器,上传文件,然后照上面那份决策清单来选:除非另有说明,选 2b;当某项规定或某个老系统有要求时,选 1b;只有当必须让一个附件随文档一起走时,才选 3b。
在依赖它之前先核对输出
打开转换后的文件与原件比对,重点看阴影、渐变和饱和色——1b 转换正是在这些地方现形。如果这个文件要提交给一个在递交时校验的系统,请提前确认它的符合性,而不是从一封拒收通知里得知。
如果 PDF/A 这整件事对你还很陌生——这项标准是干什么的、转换会改动一份文档的哪些地方、以及它究竟何时值得做——请从《什么是 PDF/A,什么时候需要它》读起,本文默认你已经知道的那些内容都在那里。
常见问题
两者的字母是相同的——都是级别 b,意思是文件的视觉外观保证可以被重现。数字则是这个文件所遵循的 ISO 19005 版次。PDF/A-1 建立在 PDF 1.4 之上,禁止透明、图层和 JPEG 2000 图像;PDF/A-2 建立在 PDF 1.7 之上,三者都允许。实际上你会看到的差别是:PDF/A-1b 转换会拼合透明,这可能明显改变柔和阴影与发光效果。
不是。更严格意味着被允许的 PDF 特性更少,而合规是通过删除那些不被允许的特性来实现的——透明是被销毁,而不是被更小心地保留。PDF/A-1 的限制描述的是 PDF 在 2001 年能做什么,而不是什么东西脆弱。除非某项规定或某个老系统明确要求 PDF/A-1b,否则 PDF/A-2b 给出同样的归档保证,同时让原始文档保留得更完整。
只有当必须把一个文件嵌入文档内部时。在其余所有方面 PDF/A-3 与 PDF/A-2 完全相同;它唯一的新增之处是允许附加任意类型的文件。现实中最主要的用途是混合式电子发票——Factur-X、ZUGFeRD 这类格式把一页可读的发票与嵌入的发票 XML 配成一对。有些档案馆拒收 PDF/A-3,恰恰是因为没有任何东西保证那个附件将来还能读,所以不要为了保险起见而选它。
级别 a 要求带标记的文档结构——标题、表格单元格之间的关系、阅读顺序和语言——也就是关于内容含义的信息。转换器看到的是被摆好位置的字形,而不是含义:它可以猜哪段文字是标题,而对屏幕阅读器用户来说,一个自信却错误的阅读顺序猜测比完全没有标记更糟。级别 a 必须来自创作工具,通过从 Word、InDesign 或 LaTeX 导出带标记的 PDF,或在完整的 PDF 编辑器里手工打标记。
能,但就内容而言这是一趟单程旅行。向下转换到 PDF/A-1b 会拼合文件中的所有透明,而把结果再转回 PDF/A-2b 并不能将其还原——那些信息在第一次转换时就被丢弃了。如果要求还可能变化,请保留源文档并从它重新生成,而不要反复转换一份归档副本。
会,而且通常不是人们预期的方向。PDF/A-1b 往往是三者中最大的:它被钉在 PDF 1.4 上,用不了后来的 PDF 版本用于压缩文件结构的压缩对象流与交叉引用流,而拼合透明又会把原本是矢量的区域栅格化。PDF/A-3b 相当于 PDF/A-2b 再加上所嵌入内容的体积。如果体积受限,请在转换之前压缩,而不是之后。
只有在接收方明确表示接受时才用。PDF/A-4 发布于 2020 年、建立在 PDF 2.0 之上,取消了 a/b/u 级别,代之以一个基础符合性,外加用于附件的 PDF/A-4f 和用于工程内容的 PDF/A-4e。这是一项扎实的标准,但递交门户、移交政策和保存规则压倒性地仍在指定 PDF/A-1 或 PDF/A-2,而在一种全部意义就在于让别人能打开文件的格式上,抢先没有任何好处。