有人向你要一份 PDF/A 文件。可能是某家法院的递交门户,可能是档案管理员,可能是大学的提交系统——而且多半没有解释区别是什么、为什么重要。让人安心的一点是:PDF/A 不是一种你必须学习的新格式。它就是去掉了不可靠部分的普通 PDF。
不那么让人安心的一点是:这些限制足够严格,以至于目前流通的大多数 PDF 都不满足。这正是转换属于一个真实处理步骤、而不是改个文件名的原因。
PDF/A 究竟是什么
PDF/A 由 ISO 19005 标准定义,首次发布于 2005 年。它并不是一种独立的文件类型:PDF/A 文件的扩展名仍是 .pdf,能在你现有的任何阅读器里打开,看上去和它的来源文档一模一样。让它成为 PDF/A 的,是它遵守一份成文的限制清单——并在自身的元数据里声明它遵循的是该清单的哪一版。
这项标准经过四次扩充,各部分之间并不能互换。每一部分都是针对其所处年代的 PDF 规范写成的:
| 部分 | 发布年份 | 基于 | 改变了什么 |
|---|---|---|---|
| PDF/A-1 | 2005 | PDF 1.4 | 最早、也最严格的一版:不允许透明、不允许图层、不允许附件 |
| PDF/A-2 | 2011 | PDF 1.7(ISO 32000-1) | 允许透明、JPEG 2000 图像、图层,以及 PDF/A 附件 |
| PDF/A-3 | 2012 | PDF 1.7 | 与 PDF/A-2 完全相同,唯一区别是可以嵌入任意类型的文件 |
| PDF/A-4 | 2020 | PDF 2.0(ISO 32000-2) | 在 PDF 2.0 上重建;取消了 a/b/u 三个符合级别 |
除了部分编号,每个文件还带有一个符合级别——也就是你在 PDF/A-2b 这类名称里看到的那个字母。字母和数字属于完全不同的两个维度,把两者混为一谈是关于这项标准最常见的误解:
- b 级(basic,基本)。文件将来能可靠地重现自己的视觉外观。承诺仅止于此——关于提取文字或搜索文字,它什么也不保证。
- u 级(Unicode)。在 b 级之上,要求页面上每个字符都映射到一个 Unicode 值,使文字可以被可靠地提取和搜索。随 PDF/A-2 引入。
- a 级(accessible,无障碍)。在 u 级之上,要求带标记的文档结构:标题、表格、阅读顺序和语言——也就是屏幕阅读器读懂一个页面所需要的信息。
实践中人们索要的几乎都是 b 级文件,原因下文会讲:u 级和 a 级需要的信息,如果源文档从来就没有,转换器也变不出来。
其余规则都由它推导而来的那一条
ISO 19005 里的每一条限制,都服务于同一个要求:文件必须包含显示自身所需的一切,不依赖它之外的任何东西。不依赖你机器上装的某个字体,不依赖你显示器碰巧用着的某个色彩配置文件,不依赖某台负责解析链接的服务器,也不依赖某人在 2026 年记下的一个密码。
一旦接受这个要求,那些规则就不再显得武断,反而显得理所当然:
- 每个字体都必须嵌入——而且要以允许嵌入的授权嵌入。一个引用 Helvetica、指望阅读器自己提供字体的文件,等于在拿未来的某台电脑打赌。
- 颜色必须被绝对地定义,通过嵌入的 ICC 输出意图,而不是交给屏幕自行解释。否则「这个红色」在五十年后将毫无意义。
- 禁止加密。密钥是一种依赖,而依赖终会丢失。
- 不得有 JavaScript,不得嵌入音频或视频,不得有启动动作。无法保证还能运行的行为,就是无法归档的行为。
- 不得引用外部内容。凡是显示出来的东西,都必须存在于文件内部。
- 元数据必须以 XMP 形式存在,采用有文档记载、机器可读的格式——其中也包括文件声称符合哪一部分、哪一级别。
转换会改动文件的哪些地方
转换不是往一份原封不动的文档上盖个章。有东西被加入,有东西被删除,也有东西被重写;在用它替换原件之前,值得知道都有哪些:
| 发生了什么 | 为什么 | 你会察觉到什么 |
|---|---|---|
| 字体被嵌入 | 消除外部依赖 | 文件变大,有时相当明显 |
| 颜色被转换到确定的色彩空间 | 绝对的颜色定义 | 通常没有变化;偶尔在饱和色上有轻微偏移 |
| 加密被移除 | 标准明令禁止 | 受密码保护的文件必须先解锁 |
| JavaScript 与多媒体被丢弃 | 无法保证的行为 | 交互元素不再具有交互性 |
| 透明被拼合(仅 PDF/A-1) | PDF 1.4 不支持 | 柔和阴影与发光效果可能略有不同 |
| 写入 XMP 元数据 | 声明其所主张的符合性 | 阅读器开始把该文件识别为 PDF/A |
体积变大这一点让大多数人措手不及。一份只用了系统字体的十页文档,等这些字体开始随文件一起走,体积可能明显增长。如果该文件还得满足上传大小限制,请先压缩再转换——转换之后再压缩会重写文件,通常会让你刚刚换来的符合性作废。
声称是 PDF/A 与真的合规
下面这个区别,决定了你提交的文件会不会被接收。声明某个文件是(比如)PDF/A-2b 的那句话,就存在该文件的 XMP 元数据里——而写下它的,是生成该文件的那个程序。没有任何机制能阻止一个程序先盖上这个声明,再输出一份违反规则的文档。
所以「这个文件是不是 PDF/A?」有两个不同的答案:文件自称是什么,以及独立按 ISO 规则检查后查出是什么。给你显示 PDF/A 标记的阅读器,报告的是前者。递交门户核查的是后者。
参考校验器是 veraPDF——免费、开源,在欧盟资助的项目中开发,并由 PDF Association 支持。它执行完整的符合性检查,并逐条规则报告失败项,指名道姓地列出出问题的对象,而不是只丢下一句「无效」。Acrobat 的印前检查以商业方式做同样的事。如果某个登记机构、法院或监管方要求提供符合性证明,请自行校验文件,而不要相信阅读器里的那个标记。
什么时候真的需要它
PDF/A 值得这笔交换的场景,比围绕它的宣传所暗示的要窄。真正成立的那些场景有一条共同线索:在生成这份文档的软件消失之后,需要打开它的人不是你。
- 向法院和监管机构递交。许多电子递交系统要求使用 PDF/A,或在其指引中建议使用,并会拒收通不过校验的文件。
- 机构档案与文件留存。国家档案馆和大学档案馆通常会指定某个 PDF/A 部分和级别作为接收的移交格式。
- 学位论文与学术提交。大学机构知识库是这项标准最稳定的使用者之一,因为它们按定义就是要长期保存文档。
- 有法定留存期限的文档。合同、审计档案、税务记录、人事与医疗档案——这些依法必须多年保持可读,而不是出于偏好。
- 混合式电子发票。Factur-X、ZUGFeRD 这类格式就是 PDF/A-3 文件:在人能阅读的发票页面内部,同时携带发票 XML——一个文件,人和记账系统都能读。
- 专利与标准类申报。维护永久性公共记录的机构,往往会规定自己将以何种格式保存这些记录。
如果要求点名了某个具体版本——是 PDF/A-1b 而不是笼统的「PDF/A」——就把它当作硬性规定。一个完全有效的 PDF/A-2b 文件,会被要求 PDF/A-1b 的系统拒收,而拒收提示很少说明原因。我们的配套文章《1b、2b 与 3b 该怎么选》讲清了它们之间真正的差别。
什么时候不需要
大多数 PDF 都不该是 PDF/A,这话值得直说,因为这个话题下的很多文章暗示的恰恰相反。
- 生命周期很短的文档。付款后就删掉的发票、发出去征求意见的草稿、只会被读一次的报告——它们都不需要熬过一个世纪的更替。
- 必须保持交互的东西。由脚本驱动的表单、嵌入的媒体、带计算的字段。让这些功能得以运转的特性,恰恰就是标准要删掉的那些。
- 受严格体积限制的文件。转换会让文件变大;一个把上传限制在 10 MB 的门户,可能才是更硬的约束。
- 设计元素繁重的文档,如果对方要求你用 PDF/A-1。拼合透明会改变阴影、发光和混合模式的呈现效果。PDF/A-2 则会保留它们。
PDF/A 让你付出的是文件体积和功能,换回的是几十年后仍能阅读。既然几十年后没人会读这份文档,那就没有理由付这笔钱。
扫描件的陷阱
这是那种多年后才浮现的失误——等它浮现时,早已过了还能低成本补救的时候。扫描件转成 PDF/A 毫无阻碍,校验时也不会有一句抱怨——因为扫描件是一张图像,而 b 级承诺的仅仅是这张图像今后仍能正确显示。
档案馆收到的,是一个合规、永久、且完全无法检索的文件。移交当时没有人会察觉。它会在有人需要从十年的卷宗里找出所有提到某一条款的合同、而唯一办法是一份份打开来读的时候浮出水面。
严格来说,关于文字的保证属于 u 级而非 b 级,任何转换器都无法承诺一个 b 级文件是可检索的。但在实际使用中,带有良好 OCR 文字层的 b 级文件表现得就像一份可检索的文档;没有这层文字的,则永远不会。
三步把 PDF 转成 PDF/A
用 PdfDocShift 转换大约需要半分钟,无需安装,也无需注册。上传的文件会在两小时后从我们的服务器上永久删除。
先把文档做完
合并、涂黑删除、OCR、加页码和压缩,都请现在做完。转换应当是最后一个碰这个文件的操作,因为之后的任何动作都会让符合性失效。如果文件设有密码保护,请先用解锁 PDF去掉密码——PDF/A 不允许加密。
选择对方要求的那个版本
打开 PDF/A 转换器并上传文件。对现代档案而言,PDF/A-2b 是合理的默认选择;当某项规定或某个老系统有要求时选 PDF/A-1b;只有在需要嵌入发票 XML 之类机器可读文件时,才选 PDF/A-3b。
转换,然后核对
下载结果,打开,确认它和原件看起来一致——颜色和任何透明效果是最该留意的地方。如果这个文件要提交给一个在递交时校验的系统,请在递交日之前自己校验,而不是从一封拒收邮件里得知问题。
如何确认一个文件真的是 PDF/A
五项检查,按最快发现问题的顺序排列:
- 读一读文件自己怎么声称。Acrobat 会在 PDF/A 文档顶部显示一条标准提示栏;其他阅读器会在文档属性里列出标准。这告诉你的是文件对自己的说法——那是个开头,而不是结论。
- 按 ISO 规则做校验。veraPDF 免费、开源,逐条规则报告失败项并指出责任对象。递交门户也会独立地得出这个答案,与你的判断无关。
- 核对版本是否与要求一致。一个完全有效的 PDF/A-2b 文件,在要求 PDF/A-1b 的系统里照样通不过。校验器会报告它检测到的部分和级别,请拿它和对方真正要求的东西做比对。
- 检查字体。文档属性 → 字体。每一项都应显示已嵌入或已嵌入子集。哪怕只有一个未嵌入的字体,也是判断文件根本没被转换过的最快信号。
- 保留源文档。转换在上文所述的那些方面是有损的,而且没有倒挡。请保留你能据以重新生成该文件的东西:原始 PDF,或者更好的——导出它的那份文档。
任何会产出归档件的流程都值得养成一个习惯:抽样校验而非全量校验,但要在移交的当下校验。当天发现的符合性问题,是两分钟的修改;同样的问题三年后在审计中被发现,就是一个项目。
常见问题
它就是一份遵守受限规则集、并在元数据中声明了这一点的普通 PDF。扩展名仍是 .pdf,能在任何 PDF 阅读器中打开,看上去与它的来源文档完全一致。区别在于它不被允许包含什么:不得引用外部字体,不得加密,不得含 JavaScript,不得嵌入音频或视频,也不得依赖文件本身之外的任何东西。
通常会,有时还相当明显。主要原因是字体嵌入:原先引用你电脑上已装字体的文档,现在必须把这些字体装在自己身上。嵌入色彩配置文件又会再加一点。如果文件还要满足上传大小限制,请在转换之前压缩,因为转换之后再压缩会重写文件,通常会破坏符合性。
可以。PDF/A 既不是只读格式,也不是被锁定的格式,更不是一种安全措施。任何 PDF 编辑器都能打开它并让你修改。编辑通常带来的后果是符合性被破坏:改过的文件又变回了普通 PDF,哪怕它的元数据仍然声称自己是 PDF/A。如果文档在转换之后被编辑过,请重新转换并重新校验。
并不,而且在一点上是刻意更不安全的:PDF/A 禁止加密,因为一个需要密码才能打开的文件,会在密码丢失的那一刻变得无法阅读。如果一份文档既需要归档稳定性又需要保密,请把未加密的 PDF/A 文件留作归档母本,另在一份单独的分发副本上设置密码。
如果对方指定了某个具体版本,就严格照办——一个有效的 PDF/A-2b 文件会被期待 PDF/A-1b 的系统拒收。如果没有人明确要求,PDF/A-2b 是合理的默认选择:它建立在较新的 PDF 版本之上,并保留了 PDF/A-1 不得不销毁的透明和图层。PDF/A-3b 只适用于你必须嵌入机器可读附件(例如发票 XML)的情形。
如果将来会有人需要检索它或从中复制文字,那就需要——而且必须在转换之前完成。扫描件会变成一个有效的 PDF/A,同时仍然是一张无法检索的文字图像,因为 b 级只承诺保住外观。转换之后再跑 OCR,会重写这个已完成的文件并通常破坏其符合性,所以顺序是:先 OCR,后转换。
打开它查看文档属性,或者留意 Acrobat 在 PDF/A 文件顶部显示的那条标准提示栏。这告诉你的是文件自己的声称。至于这个声称是否属实,要靠 veraPDF 之类的校验器:它执行完整的 ISO 19005 符合性检查,并指出文件违反了哪些规则——和递交门户会跑的检查完全相同。