PDF的历史与规范化

可移植文档格式(PDF)于1990年代由Adobe Systems创造。早期是Adobe专有格式,直到2008年作为开放标准发布。之后由国际标准化组织志愿者产业专家委员会控制。

PDF文件格式在1990年代早期开发,用于分享包括文本格式和内置影像的文档,能跨平台操作,即使电脑平台完全不同,收件者亦无需适配相关或合用的应用软件接口[1]。1991年,Adobe Systems共同创始人约翰·沃诺克提出的名为“Camelot”的系统[2]演变成PDF。当时与PDF一起竞逐跨平台文件格式的,还包括DjVu(仍在开发中)、Envoy英语Envoy (WordPerfect)、Common Ground Digital Paper、Farallon Replica及Adobe自己本身的PostScript(.ps)格式。在万维网HTML文本尚未兴起的当时,PDF在桌面出版工作流技术当中很受欢迎。

PDF在早期文件格式分享历史的接受程度颇晚。[3]从2.0版开始,Adobe开始免费分发PDF的阅读软件Acrobat Reader(现时改称Adobe Acrobat Reader DC,建立软件称为Adobe Acrobat DC),而旧版格式依旧支持,使PDF后来成为固定格式文本业界的非正式标准英语de facto standard[4]

及至2008年,Adobe Systems的PDF参考1.7版成为了ISO 32000:1:2008,从此PDF就成为了正式的国际标准。亦因为这个缘故,现时PDF的更新版本开发(包括未来的PDF 2.0版本的开发)变成由ISO的TC 171 SC 2 WG 8主导,但Adobe及其他相关项目的专家依然有参与其中。

Adobe的规范 编辑

从1993-2006年Adobe Systems数次更改PDF规范并添加新特性。2006和发布的各个方面的Adobe的扩展层被采纳为ISO 32000-2(PDF 2.0)的工作草案,但开发者注意到Adobe的扩展不是PDF标准的一部分。[5]

版本号 版本[6] 发布年份 新特性 Acrobat Reader支持版本
1.0 第一版 1993 Carousel
1.1 第一版修订 1996 密码、加密(MD5、RC4 40bit)、独立于设备的颜色、线程和链接[7] 2.0
1.2 第一版修订 1996 交互式页面元素(单选按钮、复选框等);交互式、填入式的表单(AcroForm);适用于可以从Web导入、导出、传送及接收的交互式表单数据的表单数据格式(Forms Data Format,FDF);鼠标事件;外部影片录制;外部或内嵌声音录制;二进制数据的zlib/deflate压缩;Unicode;高级颜色特性及图像代理[7] 3.0
1.3 第二版 2000 数字签名;ICC及DeviceN颜色空间;JavaScript动作;嵌入任意类型的文件流(例如用于附件);新的注释格式;新的Adobe PostScript Language Level 3成像模型特性;遮罩图像;图像的替代性表现;平滑阴影;增强式页码;Web截取,用于从万维网截取信息并转换为PDF的能力;图形结构的逻辑性结构独立的呈现;对CID字体的附加支持;用于映射字符串及PDF对象编号的数据结构;印前生产流程支持的相关信息;一些呈现功能的参数化的类别的功能对象的新特性;[8][9] Acrobat Forms JavaScript Object Specification 4.05版 4.0
1.4 第三版 2001 JBIG2;透明度;长度大于40位(40–128位)的RC4加密密钥;对交互式表单及表单数据格式(FDF)、XML表单提交、嵌入式FDF文件、 字段输出值的Unicode规格、远程协作和FDF文件中的数字签名的改进;被禁用户的可访问性;使用可扩展元数据平台(XMP)的元数据流;置标的PDF;打印者标记的包含;生产相关的页面边界的显示及预览;新预定义的CMaps;替代性呈现;从一个PDF文档到另一个文档导入内容;PDF文档的命名字典中的EmbeddedFiles词条,嵌入数据的标准方位;[9][10]Acrobat Forms JavaScript Object Specification 4.05版[11] 5.0
1.5 第四版 2003 JPEG 2000;对多媒体嵌入及后端的增强的支持;对象流;跨引用流;XML表单数据格式(XML Forms Data Format,XFDF)用于交互式表单提交(PDF 1.4中取代XML格式);support for 表单、富文本元素与基于Adobe XML表单架构英语XML Forms Architecture(XFA)2.02的属性(只定义静态XFA表单);使用PKCS#7的公共密钥安全处理器(PDF 1.3引入,但没在参考书中记录,直到1.5)、公共密钥加密、权限、使用权(UR)签名(不要求文档加密)、带SHA-1的PKCS#7、RSA扩大到4096位;安全处理器可以使用自身的加密和解密算法;文档章节通过作者或读者以诸如CAD图画、分层插图、地图和多语言文档之类的项选择性的查看或隐藏;交替呈现——仅幻灯片一种类型——由JavaScript动作的方式(Adobe Reader仅支持SVG 1.0)产生;[9][12][13] Acrobat JavaScript Scripting Reference,6.0版;[14]对微软Windows 98拖放的支持。 6.0
1.6 第五版 2004 3D艺术,如对Universal 3D文件格式的支持;OpenType字体嵌入;对XFA 2.2富文本元素及属性(XFA 2.1及2.2定义以下列特性为例:动态XFA表单,XFA的W3C XML数字签名,针对网络服务的XFA支持,HTTP之上的XFA“文档逐字的”SOAP操作,网络服务的WSDL定义SOAP绑定操作等)的支持;AES加密;带SHA256的PKCS#7,DSA升到4096位;NChannel颜色空间;嵌入式附件的附加支持,包括跨文档链入及来自嵌入的文件;增强和澄清数字签名相关的使用权和修改检测及阻止签名;[9] Acrobat JavaScript Scripting Reference,7.0版[15] 7.0
1.7
(ISO 32000-1:2008
[6][16][17]
第六版(ISO第一版) 2006(ISO 2008) 增加3D艺术的呈现;XFA 2.4富文本元素及属性;多附件(便携式收集);PDF消费者应用的文档要求;新字符串类型:PDFDocEncoded字符串、ASCII字符串、字节字符串;带SHA384、SHA512和RIPEMD160的PKCS#7;JavaScript for Acrobat API Reference 8.0版(适用于Adobe Acrobat Professional、Acrobat Standard和Adobe Reader的JavaScript扩展的对象、属性及算法的文档)[18] 8
1.7 Adobe Extension Level 1[19] 2008 XFA 2.5(Extensions Level 1)和XFA 2.6(Extensions Level 2)(XFA 2.6定义如下所示:XFA安全提交,新的配置文件——XFA前景色(XFAF)——每个XFA表单的页面覆以PDF背景等)[20] 8.1
1.7 Adobe Extension Level 3 2008 256位AES加密;XFA数据集并入符合PDF/A-2标准的文件;对Adobe Flash应用(SWF)、视频(含H.264编码的Flash视频)、音频及其他多媒体、Flash player和集成应用之间的双向脚本桥接、可能以Adobe Flex 2模块或者作为普通SWF加载的导航SWF附件的改进;XFA 2.5与2.6富文本协定,[20]XFA 2.7与2.8[21](XFA 2.7与2.8定义如下所示:用于网络服务的认证策略,通过WSDL/SOAP提交,按区域设置字体等) 9
1.7 Adobe Extension Level 5[22] 2009 XFA 3.0 9.1
1.7 Adobe Extension Level 6[23] 2009 XFA 3.1 9.1
1.7 Adobe Extension Level 8[24] 2011 XFA 3.3(如Flash/SWF集成进XFA),[25]比Extension Level 3不同的AES-256密码处理,因为密码测试算法的虚弱。[26][27]规格截至2014年11月未出版。[17] X (10)

ISO标准ISO 32000-1:2008及Adobe PDF 1.7在技术上是兼容的。[17][28][29]Adobe宣称没有制定PDF 1.8参考。PDF规格的未来版本将由ISO技术委员会制定。然而,Adobe出版的文档指明什么是PDF的专有扩展功能,ISO 32000-1(PDF 1.7)之外的在新发布的产品中支持。这利用了如同在Annex E中ISO 32000-1中记录的PDF的扩展性特性。[17]

PDF规格包容性滞后。PDF 1.7规格包括了所有先前的功能性的Adobe PDF规格1.0到1.6版的记录。在那里Adobe从他们的标准删除了PDF的某些特性,那些没被包含在ISO 32000-1[6]。一些特性被标为落后的。

PDF文档遵循带有PDF 1.7版的ISO 32000-1标准。包含了Adobe扩展的特性仍带有PDF基础版本号1.7的文档也包含随着文档的创建扩展的指示。[17]

ISO标准化 编辑

自1995起,Adobe参与了一些由ISO创建出版技术规范及在用于特定行业及用途的PDF标准专业子集(如PDF/X或PDF/A)进程中与ISO协作的工作组。[30][31]制定完整PDF规格的子集的目的是移除那些不需要或会对特定用途造成问题以及一些要求的功能的使用在完整PDF规格中仅仅是可选的(不是强制性的)功能。

2007年1月29日,Adobe宣布将发布完整的PDF 1.7规格给美国国家标准协会(ANSI)及企业内容管理协会英语Association for Information and Image Management#Enterprise Content Management Association,为了由国际标准化组织(ISO)发布。[30]ISO将制定PDF规格是未来版本,而且Adobe仅仅是ISO技术委员会的一员。[17]

ISO“全功能PDF”的标准[30]在正式编号ISO 32000之下发布。全功能PDF规格意味着不仅仅是Adobe PDF规格的子集;就ISO 32000-1而言全功能PDF包含了Adobe的PDF 1.7规格定义的每一条。然而,Adobe后来发布了不是ISO标准的一部分的扩展。[17]那些也是PDF规格中的专有功能,只能作为额外的规格参考。[32][33]

PDF标准化的子集 编辑

下列指定的PDF规格的子集被定为ISO标准(或者在标准化过程当中):[6][34][35][36]

  • PDF/X(2001年起—ISO 15929及ISO 15930系列标准的一部分)又叫“PDF for Exchange”——用于“图形技术——印刷前数据交换”——(ISO技术委员会130的工作),基于PDF 1.3、PDF 1.4还有后来的PDF 1.6
  • PDF/A(2005年起—ISO 19005系列标准的一部分)又叫“PDF for Archive”——“文档管理——用于长期保存的电子文档文件格式”(ISO技术委员会171的工作),基于PDF 1.4还有后来的ISO 32000-1 - PDF 1.7
  • PDF/E(2008年起—ISO 24517)又叫“PDF for Engineering”——“文档管理——使用PDF的工程文档格式”(ISO技术委员会171的工作),基于PDF 1.6
  • PDF/VT(2010年起—ISO 16612-2)又叫“PDF for exchange of variable data and transactional (VT) printing”——“图形技术——可变量据交换”(ISO技术委员会130的工作),基于PDF 1.6并受限于PDF/X-4及PDF/X-5[37]
  • PDF/UA(2012年起—ISO 14289-1)又叫“PDF for Universal Accessibility”——“文档管理应用——可访问的电子文档文件格式”(ISO技术委员会171的工作),基于ISO 32000-1 - PDF 1.7

还有PDF/H,也就是“PDF Healthcare”,最佳措施导览(Best Practices Guide,BPG),通过实施指南(Implementation Guide,IG)增补,2008年发布。PDF Healthcare不是一个标准或者推荐标准,但仅仅是一个使用已有标准及其他技术的指南。受到标准发展机构ASTMAIIM支持。PDF/H BPG基于PDF 1.6。[38][39][40]

PDF 1.7 编辑

PDF 1.7的最终修订的文档由ISO技术委员会171于2008年1月认可,并以ISO 32000-1:2008发布于2008年7月1日,题为“Document management – Portable document format – Part 1: PDF 1.7”。

ISO 32000-1:2008是第一份全功能PDF的ISO标准。先前的ISO PDF标准(PDF/A、PDF/X等)用于更特殊的用途。ISO 32000-1包括了所有先前的功能性的Adobe PDF规格1.0到1.6版的记录。Adobe从先前的版本中移除了某些PDF特性;这些特性也没包含在PDF 1.7中。[6]

ISO 32000-1文档由Adobe Systems Incorporated基于《PDF Reference, sixth edition, Adobe Portable Document Format version 1.7, November 2006》准备的。在一个特殊的快速进程下检验、修订并接受,通过《ISO Technical Committee 171 (ISO/TC 171), Document management application, Subcommittee SC 2, Application issues》,与ISO成员的提议并行。

根据ISO PDF标准:[41]

ISO 32000-1:2008指定独立于他们创建的环境或他们查看、阅读的环境的用于呈现电子文档的数码形式以使用户交换并查看电子文档。该标准用于创建PDF文件的软件的开发者(相应的作者)、阅读已有PDF文件及解释其内容以显示和协作的软件(相应的读者)以及用于其他多种目的阅读和/或编写PDF文件的PDF产品(相应的产品)。

一些Adobe Systems控制下的专属的规格(如Adobe Acrobat JavaScript或XML表单架构)处于ISO 32000-1规范性参考中,而且对于ISO 32000-1标准的应用不可或缺。[30]

PDF 2.0 编辑

PDF标准的新版本以ISO/CD 32000-2的名义发布。[42]

ISO委员会开发PDF 2.0的目标包括了对PDF语言的进一步的增强和改进、移除不再使用的特性(如Form XObject名称),以及对Adobe专有的规格的标准化(如Adobe JavaScript、Rich Text)。[33][43]

ISO TC 171 SC 2 WG 8 编辑

成立于2008年以策划PDF参考书作为ISO标准的Working Group 8通常一年召开两次会议,来自十多个国家的成员在各个实体中参与。ISO委员会关于ISO 32000的会议向受到学科问题专家认可的人开放。有兴趣的人一方会为有关参与ISO 32000的信息联系各自的ISO成员实体。

ISO 32000-2 编辑

在PDF语法术语中被称为“PDF-2.0”,ISO 32000-2是第一个完全经ISO委员会(TC 171 SC 2 WG 8)发展而更新的PDF规范。[44]PDF协会的成员会通过PDF协会的A类联系人与ISO TC 171 SC 2复查和注释草稿。[45]

GB标准化 编辑

2009年9月1日,作为电子文档长期保存格式的PDF/Archive(PDF/A)经中国国家标准化管理委员会批准已成为正式的中华人民共和国国家标准(GB)[46],标准号为GB/T 23286.1-2009[47]

参考资料 编辑

  1. ^ The Camelot Project (PDF). [2017-12-18]. (原始内容存档 (PDF)于2009-03-04). 
  2. ^ Warnock, J. The Camelot Project (PDF). PlanetPDF. 1991 [2017-12-18]. (原始内容存档 (PDF)于2009-03-04). This document describes the base technology and ideas behind the project named “Camelot.” This project’s goal is to solve a fundamental problem [...] there is no universal way to communicate and view ... printed information electronically. 
  3. ^ Laurens Leurs. The history of PDF. [2007-09-19]. (原始内容存档于2007-12-22). 
  4. ^ Duff Johnson. The 8 most popular document formats on the web. [2014-03-02]. (原始内容存档于2014-03-03). 
  5. ^ R, Leonard, History of PDF Openness, Acrobat users, [2017-12-18], (原始内容存档于2007-10-14) 
  6. ^ 6.0 6.1 6.2 6.3 6.4 ISO 32000-1:2008 - Document management – Portable document format – Part 1: PDF 1.7. Iso.org. 2008-07-01 [2010-02-21]. (原始内容存档于2010-12-06). 
  7. ^ 7.0 7.1 Adobe Systems Incorporated, Portable Document Format Reference Manual Version 1.2 (PDF), 1996-11-12 [2010-02-23], (原始内容 (PDF)存档于2005-11-03) 
  8. ^ Adobe Systems, PDF Reference second edition – Adobe Portable Document Format Version 1.3 (PDF), 2000 [2010-02-23], (原始内容 (PDF)存档于2010-12-14) 
  9. ^ 9.0 9.1 9.2 9.3 Adobe Systems. Adobe PDF Reference Archives. [2010-02-23]. (原始内容存档于2010-05-23). 
  10. ^ Adobe Systems, PDF Reference third edition – Adobe Portable Document Format Version 1.4 (PDF), 2001 [2010-02-23], (原始内容 (PDF)存档于2009-08-24) 
  11. ^ Technical Note # 5186 Acrobat JavaScript Object Specification Version 5.1 (PDF), 2003 [2017-12-18], (原始内容 (PDF)存档于2014-05-08) 
  12. ^ Adobe Systems, PDF Reference fourth edition – Adobe Portable Document Format Version 1.5 (PDF), 2003 [2010-02-23], (原始内容存档 (PDF)于2013-05-02) 
  13. ^ PDF compatibility levels. [2010-04-01]. (原始内容存档于2011-10-01). 
  14. ^ Acrobat JavaScript Scripting Guide, Technical Note #5430, Version: Acrobat 6.0 (PDF), May 2003 [2017-12-18], (原始内容 (PDF)存档于2017-12-08) 
  15. ^ Acrobat JavaScript Scripting Reference (PDF), 2005-06-27 [2017-12-18], (原始内容 (PDF)存档于2014-05-08) 
  16. ^ Orion, Egan. PDF 1.7 is approved as ISO 32000. The Inquirer. The Inquirer. 2007-12-05 [2007-12-05]. (原始内容存档于2008-07-04). ; Adobe wins backing for PDF 1.7. vnunet.com. [2017-12-18]. (原始内容存档于2007-12-20). 
  17. ^ 17.0 17.1 17.2 17.3 17.4 17.5 17.6 Adobe Developer Connection: PDF Reference and Adobe Extensions to the PDF Specification. Adobe Systems. [2010-12-13]. (原始内容存档于2010-12-03). 
  18. ^ JavaScript for Acrobat API Reference, Version 8 (PDF), April 2007 [2017-12-18], (原始内容存档 (PDF)于2017-09-08) 
  19. ^ XML Forms Architecture (XFA) Specification Version 2.6 (PDF), 2008-01-25 [2014-04-09], (原始内容 (PDF)存档于2015-07-06) 
  20. ^ 20.0 20.1 Adobe Supplement to the ISO 32000 BaseVersion: 1.7 ExtensionLevel: 3 (PDF), 2008-06 [2014-04-09], (原始内容 (PDF)存档于2014-04-13) 
  21. ^ XML Forms Architecture (XFA) Specification Version 2.8 (PDF), 2008-10-23 [2014-04-09], (原始内容 (PDF)存档于2015-07-06) 
  22. ^ XML Forms Architecture (XFA) Specification Version 3.0 (PDF), 2009-03-12 [2014-04-09], (原始内容 (PDF)存档于2015-07-06) 
  23. ^ XML Forms Architecture (XFA) Specification Version 3.1 (PDF), 2009-11-16 [2014-04-09], (原始内容 (PDF)存档于2013-08-11) 
  24. ^ PDFlib API Reference 8.0.2 (PDF), [2011-03-07], (原始内容 (PDF)存档于2016-04-14), 1.7ext8 – PDF 1.7 extension level 8 requires Acrobat X 
  25. ^ XML Forms Architecture (XFA) Specification Version 3.3 (PDF), 2012-01-09 [2014-04-09], (原始内容 (PDF)存档于2015-07-06) 
  26. ^ PDFlib - PDF Security - Encryption Algorithms and Key Length (PDF), [2012-09-26], (原始内容 (PDF)存档于2012-09-14) 
  27. ^ PDFlib - PDF Security - Security Recommendations (PDF), [2012-09-26], (原始内容 (PDF)存档于2012-09-18), AES-256 according to PDF 1.7 Adobe Extension Level 3 (Acrobat 9) should be avoided because it contains a weakness in the password checking algorithm which facilitates brute-force attacks against the password. For this reason Acrobat X no longer offers Acrobat 9 encryption for protecting new documents (only for decrypting existing documents). In summary, AES-256 according to PDF 1.7 Adobe Extension Level 8/PDF 2.0 or AES-128 according to PDF 1.6/1.7 should be used, depending on whether or not Acrobat X is available. Passwords should be longer than 6 characters and should contain non-alphabetic characters. 
  28. ^ ISO 32000 U.S. Committee, Statement on PDF 1.7, Editme, [2017-12-18], (原始内容存档于2018-09-29) 
  29. ^ ISO Draft of the PDF 1.7 Reference - Adobe's change summary (PDF), 2007-06-04 [2014-01-19], (原始内容存档 (PDF)于2014-02-01) 
  30. ^ 30.0 30.1 30.2 30.3 Adobe Systems Incorporated, Document Management – Portable Document Format – Part 1: PDF 1.7, First Edition (PDF), 2008-07-01 [2010-02-19], (原始内容存档 (PDF)于2010-04-09) 
  31. ^ Gnu PDF - PDF Knowledge - Forms Data Format. [2010-02-19]. (原始内容存档于2013-01-01). 
  32. ^ ISO/TC 171/SC 2/WG 8 N 603 – Meeting Report (PDF), 2011-06-27 [2017-12-18], (原始内容存档 (PDF)于2019-05-02), XFA is not to be ISO standard just yet. ... The Committee urges Adobe Systems to submit the XFA Specification, XML Forms Architecture (XFA), to ISO for standardization ... The Committee is concerned about the stability of the XFA specification ... Part 2 will reference XFA 3.1 
  33. ^ 33.0 33.1 Leonard Rosenthol, Adobe Systems. PDF and Standards (PDF). 2012 [2013-10-20]. (原始内容 (PDF)存档于2013-09-02). 
  34. ^ ISO standards by Technical committee - TC 171/SC 2 - Document management applications / Application issues. [2011-01-11]. (原始内容存档于2011-04-29). 
  35. ^ ISO standards by Technical committee - TC 130 - Graphic technology. [2011-01-11]. (原始内容存档于2011-04-29). 
  36. ^ AIIM to Facilitate ISO Standards Process for Leading Electronic Document Format. 2007-01-29 [2011-01-11]. (原始内容存档于2010-12-28). 
  37. ^ ISO 16612-2:2010 - Graphic technology -- Variable data exchange -- Part 2: Using PDF/X-4 and PDF/X-5 (PDF/VT-1 and PDF/VT-2). [2011-02-25]. (原始内容存档于2011-04-29). 
  38. ^ PDF Healthcare Frequently Asked Questions. 2006-09-25 [2011-01-11]. (原始内容存档于2011-04-24). 
  39. ^ PDF Healthcare (PDF/H) Committee. [2011-01-11]. (原始内容存档于2012-11-07). 
  40. ^ PDF/H Implementation Guide Materials. [2011-01-11]. (原始内容存档于2011-04-24). 
  41. ^ ISO 32000-1:2008, Page 1, section "1 Scope"
  42. ^ ISO 32000-2 (PDF 2.0) – PDF Association (PDF). www.pdfa.org. [2017-10-23]. (原始内容存档 (PDF)于2017-10-24) (美国英语). 
  43. ^ Dr. Matthew Hardy, Adobe Systems. Seven Minutes with a PDF Standard – PDF (ISO 32000) (PDF). 2012 [2013-10-20]. (原始内容 (PDF)存档于2013-10-21). 
  44. ^ ISO - Technical committees - ISO/TC 171/SC 2 - Application issues. iso.org. [2017-12-18]. (原始内容存档于2016-04-13). 
  45. ^ PDF Association (PDF). pdfa.org. [2017-12-18]. (原始内容存档 (PDF)于2016-10-06). 
  46. ^ 9月1日起PDF格式成为中国国家标准. 新浪科技. 2009-07-03 [2017-12-18]. (原始内容存档于2018-09-29) (中文(中国大陆)). 
  47. ^ 文献管理长期保存的电子文档文件格式第1部分:PDF1.4(PDF/A-1)的使用. 国家标准化管理委员会. [2020-09-26]. (原始内容存档于2019-02-17) (中文(中国大陆)).