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) (中文(中國大陸)).