PDF是Portable Document Format的縮寫,即“可移植文檔格式”。是由奧多比開發的一種跨操作系統平臺的電子文件格式。
PDF是由Adobe聯合創始人約翰·沃諾克(John Warnock )博士在1991年基于PostScript提出了一個名為Camelot的系統,最終演變成PDF。于1993年6月15日首次正式亮相。在2008年7月1日,Adobe Systems的PDF1.7版成為了ISO 32000-1:2008,從此PDF就成為了正式的ISO國際標準。
PDF文件通常包含固定布局的平面文檔的完整描述,既可包含由圖形和線條組成的用于說明和設計的矢量圖形、由照片和其他類型的圖片組成的位圖圖形,以及存儲為內容字符串(不是文本本身)的平面文本和圖形,還可以包含鏈接(文檔內部或網頁)、表單、通過Acrobat 3.0插件啟用的JavaScript,以及其他任意類型的能用插件控制的可嵌入內容(如按鈕、表單字段、注釋、音頻、視頻和業務邏輯),以及邏輯結構元素、圖層等交互元素,使用U3D或PRC的三維對象,多種其他數據內容,并且布局和格式在不同的設備和操作系統上保持一致。
發展歷程
早期研發
1991年,奧多比聯合創始人約翰·沃諾克(John Warnock )博士基于PostScript提出了一個名為Camelot的系統,目標是“從任何應用程序獲取文檔,將這些文檔的電子版本發送到任何地方,并能在任何機器上查看和打印”。Camelot最終演變成了PDF——可移植文檔格式(Portable Document Format)。到1992年,卡米洛特項目發展成了 PDF,Adobe公司正式將其命名為PDF1.0,并于1993年6月推出了支持PDF處理和瀏覽的Adobe Acrobat軟件。1993年,Adobe公司開發的用于閱讀PDF格式文件的閱讀器AcrobatReader。早期的PDF僅僅提供了有限的印刷出版功能自1999年Adobe推出PDF1.3版本之后,PDF才真正開始成為印前及印刷數字化工作流程上的主流交換文檔格式。
標準化
為擴大PDF的影響力,Adobe 公司從2000年開始積極參與ISO的活動,試圖將PDF及其子集推薦為國際標準。
在2005年12月,ISO組織將Adobe公司制定的PDF標準轉化為國際標準《文件管理—電子文件長期保存用文檔格式-第1部分:PDF1.4的使用(PDF/A—1)》(Document management-Electronic document file format for long term preservation-Partl:Useof PDF 1.4(PDF/A-1))(ISO 19005-1:2005),將PDF1.4版本作為第一個適合長期保存的電子文件格式在全世界范圍內推廣。在2006年,奧多比推出PDF1.7版本。
PDF起初為Adobe所控制的專有格式,直到2008年7月1日Adobe公司將有關PDF的規范提交給國際標準化組織(ISO),并由國際標準化組織以 ISO 32000-1:2008 發布,其全稱“Document management—Portable doc-ument format—Part 1:PDF 1.7(文檔管理可攜式文件格式第 1 部分:PDF 1.7)”。ISO32000-1:2008是第一個全功能的關于PDF的ISO標準。從此,PDF的有關標準的控制權便移轉到了由產業專家志愿者所組的ISO委員會底下,主要由其進行維護,它不再是由奧多比控制的一個壟斷產品。
Adobe 公司于2011 年推出PDF2.0。同年7月,ISO通過了新的標準,即 ISO/CD32000 -2 -Document management—Portable docu-ment format—Part 2:PDF 2.0(文件管理可攜式文件格式第2部分:PDF2.0);同年7月,ISO 19005-2公布,由此形成了 PDF/A-2。與PDF/A-1相比,PDF/A-2有著更多的變化,較PDF/A-1也更加的完善。
ISO組織于2012年頒布的《文件管理一—用于長期保存的電子文件檔案格式-第3部分:含嵌人式文件支持的ISO32000-1標準的應用(PDF/A-3)》Documentmanagement Electronic document file format for long-term preservation Part3:Useof ISO 32000—1 with support for embedded files(PDF/A-3)(ISO 19005-3-2012)。
在PDF問世30周年的時候,日本奧多比宣布,將6月15日定為“PDF日”。
技術簡介
PDF格式以PostScript語言圖像模型為基礎,將文字、字型、格式、顏色及獨立于設備和分辨率的圖形圖像等封裝在一個文件中。該格式文件還可以包含超文本鏈接、聲音和動態影像等電子信息,支持特長文件,集成度和安全可靠性都較高,因而特別擅長支持跨平臺、多媒體集成的信息出版和發布,尤其是提供對網絡信息發布的支持。
PDF主要由三項技術組成:①衍生自PostScript,用以生成和輸出圖形;②字型嵌入系統,可使字型隨文件一起傳輸;③結構化的存儲系統,用以綁定這些元素和任何相關內容到單個文件,帶有適當的數據壓縮系統。
PDF文件使用了工業標準的壓縮算法,通常比PostScript文件小,易于傳輸與儲存。它的頁面是獨立的,一個PDF文件包含一個或多個“頁”,可以單獨處理各頁,特別適合多處理器系統的工作。此外,一個PDF文件還包含文件中所使用的PDF格式版本,以及文件中一些重要結構的定位信息。PDF文件可以被數字簽名,確保文件的完整性和來源的可靠性;此外,PDF文件可以加密,保護敏感信息不被未授權訪問,還可以使用密碼保護限制用戶操作,例如防止打印、從文檔復制文本和圖像、修飾文檔,或者添加或刪除文本注釋等。正是由于PDF文件的種種優點,它已成為出版業中的新寵。
標準
關于PDF的ISO標準:PDF/X、PDF/E和PDF/A標準是由國際標準化組織(ISO)定義的。
PDF/X標準應用于圖形內容交換;PDF/E標準應用于工程文檔的交互式交換;PDF/A標準(ISO19005-1:2005)為在圖書館,國家檔案館等機構中長期存檔的文件定義了一套規則。它還需要"符合標準的閱讀器"以某種方式,使用嵌入字體,使用顏色管理等,對PDF/A的限制包括:無加密、要嵌入的所有字體、需要元數據、不允許使用ECMAScript、僅限與設備無關的色彩空間、沒有音頻或視頻內容。在PDF轉換過程中,將對要處理的文件對照指定標準進行檢查。如果PDF不符合選定的ISO標準,系統會提示取消轉換或創建不符合標準的文件。
在印刷出版工作流程中廣泛使用的標準有以下幾種PDF/X格式:PDF/X-1a、PDF/X-3和PDF/X-4(2008)。在PDF歸檔中廣泛使用的標準為PDF/A-1a和PDF/A-1b(要求較低)。目前,PDF/E的唯一版本是PDF/E-1。
PDF/X的目的在于為設計員、繪圖員、工程師和圖像藝術家提供一種可為任何服務提供者正確打印的電子文件格式。PDF/X使保持完全一致性成為可能,即使文件被人們在多處位置,用不同的機器處理,效果也是一樣的。這種格式對大多數網絡公司的打印就緒文件傳輸很理想。這里,打印就緒信息的輸送者和接收者并無很強的互相關聯。除了為打印任務提供堅實的傳送格式之外,PDF/X還具備其他好處,包括有一個文件查看器,更佳的壓縮效果(文件大小更小),支持專色印刷色彩這種識別打印條件(比如哪個文件已就緒)的技術手段,以及更多。不過,也與PDF/A一樣,PDF/X的好處也伴隨著一些妥協。比如透明加密和JBIG2壓縮等功能在PDF/X中就是被禁止的。
PDF/E標準主要針對工程技術工業。它針對一些PDF技術的一些工程技術界使用的最新功能,包括對象級元數據和3D模型。
主要特點
設備無關性
PDF文件格式以向量方式描述頁面中的元素。它定義了多種坐標系統,并通過當前變換矩陣完成從用戶空間到設備空間的轉換,從而使得PDF文件獨立于各種設備,適應不同條件的用戶要求。
可移植性
PDF文件中既允許ASCⅡ碼文件信息,又允許二進制文件信息。通過編碼過濾器可以實現兩種信息的轉換。ASCⅡ碼是最通用的字符集,它可以解決數據在不足8位的通道中正確傳輸的問題。PDF的可移植性確保了文件在網絡中正確傳輸。
可壓縮性
PDF支持不同標準的壓縮過濾器,使PS文件轉為PDF文件時,文件長度明顯縮小。對采用壓縮過濾器生成二進制數據,PDF可將之再轉換為ASCⅡ代碼,來保持文件的可移植性。
字體獨立性
PDF中采用了一種新的解決字體問題的方法,即在PDF文件中包含對應于其使用的每一種字體的“字體描述”。“字體描述”中包括字體的名稱、字符信息、字體風格信息等,在出現缺少字體時準確替換字體所必需的信息。
文件獨立性
PDF文件中運用先生成PDF文件的對象,再在文件尾部生成有關此文件的總體描述信息方式,來實現對單向通過性的支持。這樣便能在文件的最后設置諸如文件大小、文件總頁數等信息。單向通過性有效地提高了處理PDF文件的效率。
頁面獨立性
每個PDF文件都包含有交叉引用表,能用來直接獲取頁面或其他對象,從而使得對任一頁面的獲取與文檔的總頁數和位置無關。
增量更新
PDF文件具有可進行增量更新的文件結構,需要更新時只需將所作更改項附在文件后面,而無須重寫整個文件,使文件更新速度大大提高尤其有利于印前作業的大文件。此外,增量更新還保留文件的歷史記錄,能隨時取消所作的修改,使印前作業過程更加簡便。
平臺中立
同一PDF可在多種操作系統進行交互操作,已真正成為獨立于各種軟件、硬件及操作系統之上的、便于用戶交換與瀏覽的印前電子文件格式。
支持多種色彩模式
Photoshop中,PDF格式可支持RGB、CMYK、Indexed Color、Grayscale、Bitmap、Lab色彩模式,但不支持AIPha通道。
文件結構
PDF文件的基本元素是PDF對象,對于PDF對象來說,其組成元素為直接對象或者間接對象。直接對象包含幾種基本類型:布爾型、數值型、字符串型、名字型、數組型、字典型、流對象以及空對象,而間接對象和直接對象不同,間接對象標識是為了讓別的PDF對象引用,間接對象通過間接對象ID標識PDF對象。任何PDF對象標識后都變成了間接對象。 其中,間接對象(Indirect Objects)——通過使用引用來進行訪問的對象;直接對象(DirectObjects)——不通過引用就可以直接訪問的對象。
布爾型(Boolean)
用關鍵字True或False表示,它僅有真值和假值,布爾型可以表示dictionary對象中的條目,也可以表示array對象中的其中一個對象。
數值型(Numeric)
用整型(IntegerValue)和實型(RealValue)表示,數值型對象并不支持非十進制數字,同時也不支持形如指數格式的數字。
字符串型(String)
包括直接字符串(LiteralString)和十六進制字符串(Hexadecimal String),字符串型對象由一系列字節組成,每個字節字長均為0-255之間,而一個字符串型的對象長度不可以超過65535。直接字符串是由(包括起來的字符串,可以使用轉義符“/”;十六進制字符串由>包括起來的十六進制序列,十六進制字符串中由兩位表示一個字符,對于不足兩位的,則使用0來補齊空位。
名字型(Name)
以/作為開始標識的8位字符序列,允許的最大長度為127,不可分割性和必須唯一性,這點與字符串型不同。
空對象(Null)
用關鍵字null來表示空對象。
數組(Array)
由[]包括起來的有序對象序列,由任意的PDF對象結合構成,也包含數組。雖然PDF對象僅僅支持一維數組內容,但是仍然可以通過array特性中的嵌套實現多維(不超過8191)的array數組。
字典型(Dictionary)
是一種無序的鍵(Key)值(Value)對,key在字典中一定是唯一的,key必須是name對象,在同一個字典中,絕對不允許出現相同的Key,Value則可以是任意的PDF對象類型。在PDF中絕大多數的間接對象都是字典型,字典由<<>>包括起來。
流(Stream)
是一種特殊的,用關鍵字“stream”“endstream”以及“dictionary”包裹起來的字典對象,stream對象由這些組合中的許多個字節組成。流對象中的信息都是通過過濾器加密或壓縮的。前綴字典包括這個流是否加密以及如何解碼這個流等信息。在數據量比較大的情況,一般都采用流對象來表示文檔,流對象通常用來存儲圖像、文字、腳本代碼等。流可以分為幾次讀取,也可以對不同的部分在不同的時候分開使用,相比string具有更大的適用性,而且相比string,stream存儲的長度并沒有限制。需要區分開來的概念是,stream必須是間接對象,但是包含stream的字典必須是直接對象。
相關爭議
互聯網安全公司360昨天發布警報稱,奧多比旗下PDF軟件漏洞已遭黑客攻擊,可使病毒寄生在PDF文檔中,打開PDF就中招。受漏洞影響的PDF軟件包括Adobe Read和Adobe Acrobat。360安全中心認為,該漏洞可能被黑客利用電子郵件、網絡下載等方式傳播病毒,例如把熱門小說制作為PDF電子書,利用漏洞在其中植入病毒,專門攻擊點擊閱讀PDF的用戶電腦。
來自波鴻大學和明斯特大學的研究人員在 PDF 加密方式中發現了兩個主要的安全漏洞。研究人員稱之為 “直接滲透” 的第一個變種利用了 PDF 加密規范,也就是執行加密的軟件不會對 PDF 文件的每個部分進行加密,這使得文件的一部分可以被黑客查看到。攻擊者通過注入代碼,可以在合法用戶打開文檔時,運行該文件的未加密的部分文件。打開文件后,添加的代碼可以將文件的內容發送到攻擊者指定的站點。第二個變體沒有名稱,攻擊者使用密碼塊鏈接小工具將 PDF 文檔中存在的純文本更改為代碼,就像第一個變體一樣,當合法用戶打開文件時,嵌入式代碼將執行,將文檔發送到攻擊者指定的站點。
在2023年8月31日消息,近日,JPCERT發布警告消息,稱發現了一種將惡意文檔嵌入PDF的攻擊方式。這種新的攻擊技術,能夠繞過pdfid等傳統的PDF安全分析工具,對用戶的設備進行攻擊。JPCERT將該技術命名為“MalDoc in PDF”,用戶一旦打開通過該技術創建的PDF文件,就會激活其中的宏命令,繼而執行惡意代碼。
常用工具
Adobe Acrobat Reader
用于可靠地查看、打印和共享 PDF 的免費全球標準。
Foxit Reader
具有完全自主產權的PDF核心技術是一款高效專業安全的閱讀器。可對PDF文檔進行高亮、刪除線、注釋、文本框等,一鍵導出小結注釋;支持把PDF轉換成Word, Excel, PPT等常用的文檔格式;可快速提取PDF文件中的文字等。
PDFelement
萬興科技旗下的PDFelement是一款全能型的PDF文檔解決方案,功能包含PDF編輯、PDF轉換、PDF創建、PDF合并、OCR、批量處理等,主要服務于國內外的企業用戶及個人用戶,在全球擁有5000萬用戶。
AdobeAcrobat Pro
是由奧多比開發的一款PDF編輯軟件,以PDF格式制作和保存文檔,以便于瀏覽和打印,或使用更高級的功能。Adobe公司還同時推出了一個免費的PDF閱讀軟件Acrobat Readero。
參考資料 >
紀念 PDF 問世 30 周年,Adobe 宣布 6 月 15 日為“PDF 日”.IT之家.2023-10-08
發明PDF的Adobe聯合創始人去世,他改變了媒體和出版業 .百家號.2023-10-11
[科普中國]-可移植文檔格式.科普中國網.2025-05-22
什么是 PDF?.Adobe.2023-10-08
病毒侵襲PDF漏洞.北方網.2023-10-10
PDF 加密方式中發現兩個主要的安全漏洞.OSCHINA社區.2023-10-10
打開PDF文件需小心!新攻擊技術可繞過安全檢查.手機鳳凰網.2023-10-10
Adobe Acrobat Reader.Adobe 官網.2023-10-10
福昕PDF閱讀器.foxit福昕.2023-10-10
萬興PDF專家發布 打造全新的企業級一站式PDF解決方案.中國新聞網.2023-10-10