什麼是 PDF?格式基礎解析
PDF 是 Portable Document Format(可攜式文件格式)的縮寫。它是共享需要在每台裝置上看起來都相同的文件時最廣泛使用的格式。本頁解釋 PDF 實際是什麼、它從何而來,以及內部如何運作。
歷史
PDF 的由來
PDF 由 Adobe Systems 於 1993 年發明。目標簡單卻雄心勃勃:一種單一檔案格式,無論用哪台電腦、作業系統或印表機檢視,都能完全按作者意圖保留文件的字型、影像、圖形和版面配置。「Portable Document Format」這個名稱正反映了這種雄心。
在最初的十年裡,PDF 是 Adobe 的專有格式。2008 年它作為開放國際標準 ISO 32000-1 發布,管理權移交給國際標準化組織(ISO)。如今任何人都可以建構讀寫 PDF 的軟體而無需支付權利金。修訂版 ISO 32000-2(PDF 2.0) 於 2020 年發布,在不破壞現有檔案的前提下釐清了許多邊界情況。
普及
PDF 為何成為通用標準
PDF 解決了早期格式無法解決的真實問題。在另一台電腦上開啟的 Word 文件可能會重排、替換字型並改變分頁。網頁則依賴於瀏覽器和螢幕尺寸。相比之下,PDF 是固定版面配置文件:第 3 頁在任何地方都是第 3 頁的樣子。
這種可靠性使 PDF 成為合約、發票、研究論文、政府表格、電子書以及任何用於列印或歸檔的文件的預設選擇。免費的閱讀器(Adobe Acrobat Reader,以及後來的瀏覽器和作業系統)讓檢視變得毫無摩擦。如今,每個主流作業系統都能在不安裝額外軟體的情況下開啟 PDF。
內部結構
PDF 檔案裡有什麼
PDF 是由四部分組成的結構化文字與二進位檔案:
- 檔頭 — 宣告 PDF 版本的單行(例如
%PDF-1.7)。 - 檔體 — 一系列編號物件,描述頁面、字型、影像、文字流和元資料。每個物件獨立,可按任意順序讀取。
- 交叉參考表 — 給出每個物件位元組偏移的索引,使閱讀器無需掃描整個檔案就能直接跳到任意物件。
- 檔尾 — 指向交叉參考表和根物件(文件目錄),讓閱讀器知道從哪裡開始。
這種設計正是 PDF 可以很大卻仍能快速開啟的原因:交叉參考表讓閱讀器只取所需的物件。這也解釋了為何增量更新可行 — 編輯 PDF 時,可以追加新物件和新的交叉參考段,而無需重寫整個檔案。
版本
PDF 版本簡述
檔頭中的版本號(%PDF-1.x 或 %PDF-2.0)告訴閱讀器檔案可能使用哪些特性。現實中的大多數 PDF 是 1.4 到 1.7。版本 1.5 引入了物件流和交叉參考流以減小檔案體積。1.6 增加了 3D 內容和更豐富的加密。1.7(ISO 32000-1 的基礎)整合了一切。PDF 2.0 清理了規範,但在實務中仍不常見。
日常使用中,版本很少重要。現代閱讀器都能處理。更重要的是物件內部的內容:嵌入字型、影像壓縮和元資料。
繼續閱讀