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