PDF 的发展史:从诞生到成为全球标准

415 阅读4分钟

准备开一个专栏,把PDF文件的底层格式,常见的PDF文件会出现什么情况做相应的介绍。 如有错漏,请评论提示我及时改正。

什么是 PDF?

便携式文档格式(Portable Document Format,PDF)是由 Adobe Systems 在 1992 年开始开发,并在 1993 年正式推出的一种固定布局的电子文档格式。它的目标是让文档无论在哪个平台(硬件、操作系统、应用软件)上,显示与打印效果都一致。PDF 文件能包含文本、向量图形、光栅图像、字体、颜色空间以及文档内的各种元数据、注释、表单等内容。 维基百科

为什么需要 PDF?

在上世纪 80、90 年代,计算机文档正处于“百花齐放”的阶段:

  • 文档在不同系统之间交换时问题很多:字体可能不存在、排版错乱、图片或格式丢失等。
  • 类似 PostScript 虽然强大,但主要面向打印与排版任务。对于普通用户来说,它太重,也不一定能保证在屏幕或其它设备上的一致性。
  • 网络与跨平台协作的需求越来越强,需要一种格式能 “打包”所有展示所需内容,并保证一致性。 PDF 正是为此设计。

PDF 的诞生

PDF 的开发始于 1991 年,Adobe 创始人之一 John Warnock 提出了一个叫做 Camelot 的项目。Camelot 的目标是创造一种简化版的 PostScript,最初被称作 Interchange PostScript (IPS) ,专为页面交换、页面显示优化,而不是仅仅为打印机渲染设计。这样用户能不用关心具体输出设备,就能看到“所见即所得”的文档。

PDF 的版本演进

随着需求扩展,PDF 规范不断更新,以下是根据 Wikipedia 的整理的一些关键版本与新增特性:

版本年份核心新增功能
PDF 1.01993文本、图像、页面(Pages)、书签 (Bookmarks)、缩略图 (Thumbnails) 等基础功能。
PDF 1.11994引入密码加密(MD5, RC4 40-bit)、设备无关色彩 (device-independent color)、链接、线程 (threads) 和链接功能。
PDF 1.21996支持表单(AcroForm)、可填充表单数据格式 (FDF)、嵌入声音/视频外部媒体、使用压缩算法(zlib / deflate)、更高级的色彩特性、Unicode 支持。
PDF 1.3大约 1999–2000更强的数字签名支持 (digital signatures)、更多颜色空间支持 (ICC, DeviceN)、JavaScript 动作、平滑着色 (smooth shading)、改进的注释/嵌入文件能力。
PDF 1.42001透明度 (transparency) 的引入;更强的交互表单、增强的表单提交/导入/导出;元数据 (XMP);可访问性 (accessibility) 功能更好;打印机标记 (printer marks) 等生产预览相关功能。
PDF 1.5大约 2003引入对象流 (Object Streams)、交叉引用流 (XRef Streams),改善大文件的处理与随机访问性能。部分压缩与优化增强。 (尽管 Wikipedia 没给出非常详细的每个新增子功能)
PDF 1.62004–2005更多媒体支持、更强数字签名支持、改进图形与图像处理、更多字体与色彩空间选项。
PDF 1.72006Adobe 最后主导版本。功能较为成熟。这版后来在 2008 年成为 ISO 32000-1:2008 的基础。
ISO 32000-1:2008 (PDF 1.7 标准化)2008PDF 1.7 成为开放标准(ISO 标准),Adobe 将规范控制权移交给 ISO 组织中的行业专家委员会。
PDF 2.0 / ISO 32000-2:20172017全面消除规范中的私有/专有元素(proprietary elements),增强规范文档精确性;更新加密、透明度、色彩空间等规范;明确定义很多边缘情况与解析行为。
ISO 32000-2:20202020对规范中的参考文献、技术条款进行澄清、更正,对规范的细节做重要更新。

PDF的标准化与开放过程

  • 在最初阶段,PDF 是 Adobe 的专有格式。所有规范(PDF Reference)都由 Adobe 控制。
  • 2007 年底/2008 年,Adobe 正式将 PDF 1.7 的完整规范提交给 ANSI/AIIM 并由 ISO 发布,成为 ISO 32000-1:2008,PDF 从此成为开放标准。
  • PDF 的进一步规范、维护与修订由 ISO 技术委员会(TC 171 / SC 2 / WG 8)负责,Adobe 仍然参与但不再是唯一拥有控制权的组织。
  • 在 PDF 2.0(ISO 32000-2:2017)中,规范明确移除所有专有技术(proprietary technologies)作为规范的一部分。这样用户或实现者不会被某些私有扩展锁定。 这些标准让 PDF 更加稳固地嵌入到各行各业的工作流程中。