可移植文件格式

行動式文件格式之類的互動元素，使用U3D或PRC的三維物件，以及多種其他資料內容。PDF規範還提供了啟用這些功能時所需的加密功能、數字簽名、文件附件和元資料等。PDF源自1991年Adobe Systems共同創始人約翰·沃諾克發起的“Camelot專案”。2008年成為ISO標準的一部分，編號ISO 32000，最新的版本ISO 32000-2:2020在2020年十二月釋出。歷史.Adobe Systems在1993年免費提供了PDF規範，當時與PDF一起競逐跨平臺文件格式的，還包括 DjVu格式。在全球資訊網及HTML文字尚未興起時，PDF在桌面出版工作流技術當中很受歡迎。PDF起初為Adobe所控制的，直到2008年7月1日才被官方以開放標準發行，並由國際標準化組織以 ISO 32000-1:2008 釋出。 此後，標準的控制權便移轉到了產業專家志願者所組的ISO委員會底下。2008年，Adobe在 ISO 32000-1 釋出了公共專利許可，對於製作、使用、銷售及釋出PDF相容的應用所需的專利，皆賦予買斷式授權。PDF 1.7 含有一些Adobe所定義的專有技術，如Adobe XML表單結構和JavaScript中對Acrobat的擴充套件。這些技術被 ISO 32000-1 引用為對於該規範之完整實現不可或缺且規範性的，但是它們並沒有被標準化，其規格也只有釋出在Adobe的網站上。這些技術大部份也沒有被熱門的PDF第三方實現所支援。2017年7月28日，釋出了 ISO 32000-2:2017。ISO 32000-2 不將任何專有技術當作是規範性引用檔案。2020年12月14日，釋出了 ISO 32000-2:2020。在2017版本的基礎上包括了對規範性引用的澄清、更正以及其他的一些重要更新。技術基礎.PDF 檔案通常由向量圖形、文字和點陣圖圖形構成。PDF主要由三項技術組成：PostScript.PostScript是一種運行於直譯器以生成影象的頁面描述語言，一個需要大量資源的程序。不僅能處理圖形，也具有codice_1及codice_2之類命令的標準程式語言特性。PDF很大程度上基於PostScript，但做了簡化，以移除像這樣的流控制特性，還保持著codice_3之類的圖形命令。通常，類PostScript的PDF程式碼產生於PostScript原始檔。以PostScript程式碼輸出的圖形命令被收集並標記；其中文件所引用的任何檔案影象或字型也被收集，然後每一件都被壓縮成單個檔案。由此，整個的PostScript領域得以保持完整。作為一個文件格式，PDF相比較於PostScript有一些優勢：PDF 1.6 及更高版本支援嵌入 PDF 檔案的互動式3D文件，可以使用U3D、PRC或其他各種3D格式嵌入3D影象。技術概括.檔案結構.PDF檔案是COS格式的子集。COS也伴隨著FDF檔案。COS樹檔案主要由物件組成，其中有八種類型：物件可以是直接即可做出小的改動。從PDF 1.5版開始，非直接物件也可位於稱為“物件流”的字串流中。這一增加檔案大小的技術有大量小的非直接物件，並且對置標PDF特別有用。PDF檔案有兩種輸出方式：非線性開始。PDF檔案可用Adobe Acrobat軟體或QPDF最佳化。影象模式.圖形在PDF中呈現的基本設計是以非常類似於PostScript中的方式，除了PDF 1.4增添的透明度的使用。PDF圖形使用笛卡兒座標系來描述頁面的外觀。一個PDF頁面描述可使用矩陣來縮放、旋轉或錯切圖形元素。PDF中的一個主要概念是圖形狀態，即是可能會透過頁面描述修改、儲存或還原的圖形引數的集合。PDF有24種圖形狀態屬性，其中最重要的有：向量圖.PDF中的向量圖如同在PostScript當中一樣，是由路徑組成的。路徑通常由直線和多項的貝茲曲線組成，但也可以從文字的外廓構建。不同於PostScript，PDF不允許帶直線和曲線的單一路徑去組合文字外廓。路徑可被描繪、填充或用於。描繪和填充可用任意圖形狀態中的色彩集，包括式樣。PDF支援多種調色盤型別。最簡單的是瓷磚式樣，其中藝術作品的一部分被指定以被重複地繪製。這可能是彩色瓷磚式樣，帶有在式樣物件中的指定的顏色，或是延遲色別編碼到式樣已繪製時候的沒有顏色的瓷磚式樣。從PDF 1.3開始還有了底紋式樣, 連續繪製不同的顏色。七種底紋式樣中最簡單的是軸向底紋。點陣圖.PDF中的點陣圖影象通常出於壓縮的目的過濾。PDF中支援的影象過濾器包含了常用的過濾器通常PDF中包含的所有影象嵌入於影象，但PDF允許影象資料透過使用外部字串流或替代影象儲存於外部檔案。PDF的標準子集，包括PDF/A和PDF/X，禁止這些特性。文字.文字在PDF中以頁面內容字串流中的“文字元素”呈現出來。一個文字元素指定字元應在指定位置描繪。字元用所選字型源的編碼指定。字型.PDF中的字型物件是對數碼字型的描述。可能是字型中的字元的描述，或者是包含嵌入的字型檔案。後者叫嵌入字型，前者叫非嵌入字型。所嵌入的字型檔案基於廣泛使用的標準數碼字型檔案：Type 1OpenType。另外PDF支援由PDF圖形處理器描述的字型元件中的Type 3變種。Standard Type 1字型.以Standard 14字型著稱的四種字型在文件中PDF有特別的意義：這些字型有時稱作Base 14字型。這些字型或有相同度量的合適的替代字型，必須能用在所有PDF閱讀器上，而且不必嵌入PDF。PDF檢視器必須掌握這些字型度量。否則字型如果沒有嵌入PDF就可能會被替換。編碼.文字字串中，字元用以編碼對映字形於當前字型的字元程式碼。PDF中的編碼機制是為Type 1字型設計的，而且應用到TrueType字型的規則是複合的。對於大型字型或者帶非標準字形的字型，特殊編碼Identity-H被使用。如果關於字元的語義資訊被預定義，這類字型有必要提供ToUnicode表。透明度.PDF的原始影象模型像PostScript的opaque：頁面上描繪的每個物件完全替換先前在同一位置標記的任何東西。在PDF 1.4中影象模型被擴充套件以允許透明度。使用透明度的時候，新物件與先前標記的物件相互作用產生混合的特效。透明度新增到PDF由寫到PDF 1.3及早期的規格的產品中被忽略設計的新的擴充套件方法完成。結果，使用少量透明度的檔案在舊的檢視器中可能會以被接受地檢視檢視，但大量用透明度的檔案在舊的檢視器中會顯示不正確而沒警告。透明度擴充套件基於透明度組、混合模式、形狀和alpha的關鍵概念。這一模式緊密對應Adobe Illustrator 9的特性。混合模式基於當時Adobe Photoshop所用的。PDF 1.4規格出版的時候，用於計算混合模式的公式被Adobe保密。此後它們被公佈。PDF規格中透明度組的概念獨立於Adobe Illustrator之類的應用中已有的“組”或“層”的概念。那些反映物件之上的邏輯關係的分組在編輯那些物件的時候有意義，但不是影象模型的一部分。互動式元素.PDF檔案或許包含註釋、表單、影片和Flash動畫之類的互動式元素。富媒體PDF是一個用來描述可以嵌入或鏈入PDF的互動式內容的術語。這一內容必須用Flash檔案格式提供。Adobe收購Macromedia的時候，公司的主業是Flash，而且Flash播放器被嵌入Adobe Acrobat，Adobe Reader，移除了用於Flash、QuickTime或Windows Media之類第三方外掛的需。不幸的是，這造成QuickTime影片從PDF被禁這樣與蘋果公司的裂痕。富媒體專家相信這一事件引發了蘋果與Adobe之間Flash iPhone/iPad爭論之上的衝突。富媒體PDF將不在蘋果的iPad之類的iOS裝置上操作，而且互動性受到限制。互動式表單是一個新增表單到PDF檔案格式的機制。PDF當前支援用於整合資料和PDF表單的兩種不同的辦法。兩種格式今天並存於PDF規格：AcroForms.AcroForms於PDF 1.2格式被引入。AcroForms准許使用物件。在標準PDF動作型別之外，互動式形式：AcroForms可以保持表單欄位於包含key:value組合的外部的單獨的檔案。內部的檔案可能使用FDF和XFDF檔案。使用權格式，及以FDF及XFDF格式從資料檔案匯出檔案的權利。表單資料格式.表單資料格式作為示例在Foxit Reader和PDF-XChange Viewer Free中得到實現；PDF檔案中FDF資料的儲存也被pdftk支援。XML表單資料格式.XML表單資料格式。PDF 1.4規格允許以XML格式提交表單，但在PDF 1.5規格中以XFDF格式提交取代。XFDF符合XML標準。到2016年12月，XFDF 3.0在"ISO 19444-1:2016 – Document management – XML Forms Data Format – Part 1: Use of ISO 32000-2 (XFDF 3.0)"的名義下成為ISO/IEC標準。這個標準是ISO 32000-2的規範性XFDF可用以和FDF相等的方式，如提交表單資料給伺服器，做出修訂，然後返回，並且新表單資料被匯入到互動式表單。它還可以用來匯出表單資料到能被導回到相應的PDF互動式表單的單獨的檔案。Adobe XML表單架構.PDF 1.5格式中，Adobe Systems引入了新的、專有的表單格式，名為Adobe XML表單架構當中被棄用。Adobe XFA表單不與AcroForms相容。Adobe Reader包含使用XFA表單的“禁用特性”，僅在開啟只來自Adobe的可行的技術建立的PDF文件時啟用。XFA Forms不兼容於Adobe Reader 6以前的版本。XFA表單可建立或用作PDF檔案或作為XDP語法從一個應用移到另一個應用的時候，它們必須以XML資料包封裝。當PDF和XFA結合在一起，結果是任意頁面中的XFA表單覆蓋了PDF背景。這一架構有時被提作XFAF展開所有表單，包括樣板檔案。這有時被稱為全XFA。PDF 1.5開始，可變文字欄位的文字內容，以及標記註解可能包含格式資訊規格2.4定義的富文字元素和屬性。多數PDF處理器不處理XFA內容。生成外掛PDF的時候會被建議包含於PDF標記的一個簡單的單頁PDF影象顯示警告或Nuance PDF Reader。邏輯架構與可讀性.“標籤”PDF之後被提取並再利用於其他用途。當PDF檔案僅供列印時，並不要求支援標籤PDF。因為此一特色是非必須的，且 ISO 32000-1 對於標籤PDF的規則相對模糊，所以在消費性裝置當中，包括，標籤PDF的支援參差不齊。一個專門針對可讀性、為ISO標準之子集的PDF規格：PDF/UA 於2012年首次釋出。安全和簽名.一份PDF檔案可能以用於驗證的擔保或者數字簽名加密。由Acrobat PDF提供的標準擔保以兩種不同的方法及兩種不同的密碼組成，使用者密碼，加密檔案並阻止開啟；所有者密碼，指定即使文件被解密的時候應該被限制的操作，可以包括：列印、從文件複製文字和影象、修飾文件，或者新增或刪除文字註釋和AcroForm欄位。使用者密碼不加密檔案，相反取決於客戶端軟體以遵循這些限制，並且不安全。所有者密碼可以被許多通常可用的PDF破解軟體移除，包括一些自由的線上服務。由此，文件作者放在PDF文件中的使用限制不安全，而且不能在一旦檔案被散佈時保證；這一危險在使用Adobe Acrobat軟體以建立或編輯PDF檔案應用這類限制的時候顯現出來。即使沒有移除密碼，許多免費或開源PDF閱讀器忽略許可權“保護”並允許使用者列印或者做文字摘要的複製，就像文件沒被密碼保護限制一樣。一些解決方案像Adobe的LiveCycle Rights Management更強化資訊權利管理的方式，不僅能限制誰能開啟文件，而且以標準的安全處理程式做不到的方式可靠的執行許可權。使用權.從PDF 1.5起，使用權簽名用來啟用在一些PDF檢視器應用中不是預設的附加的互動式特性。這一簽名用來驗證由真實的授權機構賦予的許可。例如，它可以允許使用者：例如，Adobe Systems在Adobe Reader中授權啟用附加特性，使用公鑰密碼學。Adobe Reader使用從一個Adobe授權的權威認證的驗證那個簽名。PDF 1.5規格宣稱其他PDF閱讀器應用可以為他們自己的目的自由使用這一相同機制。檔案附件.PDF檔案可以有文件級和頁面級的檔案附件，讀者可訪問並開啟或儲存於本地的檔案系統。PDF附件可作為示例用pdftk加到已有的PDF檔案。Adobe Reader提供對附件的支援，而且基於Poppler的閱讀器如Evince或Okular也有對文件級附件的支援。元資料.PDF檔案可包含兩種型別的元資料。第一種是文件資訊字典，一套像作者、標題、主題、建立及更新日期的關鍵字/值欄位。這儲存於可選的檔案尾部。有一小組欄位是有定義的，而且如果有需要，可以用附加的文字欄位擴充。後來在PDF 1.4中，對元資料流的支援被加入，用可擴充套件元資料平臺，使用可擴充套件的綱要。相關技術.Mars.Adobe曾探索基於XML的下一代PDF，代號Mars。Mars的圖形元素的格式有時簡單地描述為SVG，但根據2007年11月的0.8版草案規格這一格式實際上僅僅是接近於SVG：它同時包含SVG新增和移除的部分，因此一般不可被標準SVG工具檢視或建立：一些東西在SVG檢視器和Mars檢視器之間看起來明顯不同。Adobe Systems於2008年停止開發Mars。技術問題.掃描的文件.由掃描器硬複製文件建立的PDF檔案包含原始文字沒有由相同的文件直接建立的PDF檔案那樣相同的架構。掃描的文件原本地包含了文件的圖片，沒有關於文字的資訊。只要使用者可以看到它只是另一個PDF檔案，帶有從其他任意地方來的不能區分的名稱和副檔名；好的掃描器或許會精確地視作與原生的PDF檔案相同，即使是視覺上質量很差的檔案，常常帶有扭曲的頁面，給出了其本性。然而，檔案大小會明顯不同，而且不能搜尋文字。對於精確質量的掃描可以用帶光學字元識別的合適的軟體識別文件中的文字，並嵌入文件中而使其可以檢索，取決於OCR的準確性。可讀性.PDF檔案可專門為讓殘疾人閱讀而建立。截至2014年 (2014)[ [update]]PDF檔案格式在使用中可以包含標籤、替換文字、標題、音訊描述等。置標PDF在PDF/A-1a規格中被要求。一些軟體可以自動生成置標PDF，但這個特性不被預設啟用。常見的螢幕閱讀器，包括JAWS、Window-Eyes、Hal和Kurzweil 1000及3000可以朗讀置標PDF，就像Acrobat和Acrobat Reader後來的版本一樣。此外，置標PDF可為有視覺障礙的讀者重排和放大。問題仍存在於給舊版PDF和從掃描的文件生成的PDF加標記。這些情況下，可讀性標記和重排就不可用，而且必須手動或用OCR技術處理。這些過程對於一些殘疾人是達不到的。對PDF可讀性的一個重大挑戰是PDF文件有三種不同的檢視，取決於文件的建立，會和其他檢視相矛盾。這些檢視有：物理檢視、標記檢視和內容檢視。物理檢視可以顯示和列印。標記檢視是螢幕閱讀器和其他訪問技術用來給有障礙的使用者帶來高質量導航和閱讀體驗的。內容檢視基於PDF內容字串流中的物件的物理排列，並可能由不完全支援標記檢視的軟體顯示，如Adobe Reader的Reflow特性。基於ISO 32000-1的可閱讀PDF國際標準PDF/UA在2012年以ISO 14289-1釋出，併為可閱讀PDF技術建立規範的語言。病毒和漏洞.PDF附件帶病毒最先發現於2001年。這種名為OUTLOOK.PDFWorm或Peachy的病毒，會透過Microsoft Outlook以附件的形式將自己傳送至Adobe PDF檔案。然後會用Adobe Acrobat將自身啟用，但不會被Acrobat Reader啟用。隨著時間推移，新的漏洞在Adobe Reader的多個版本被發現，促使企業發出安全性修復。其他PDF閱讀器也容易受到影響。一個惡化的因素是PDF閱讀器會被配置在網頁嵌入PDF時候自動啟動，為攻擊帶來了載體。如果惡意的網頁包含一份利用PDF的漏洞感染的PDF檔案，系統會無法抵抗，即使瀏覽器是安全的。其中一些漏洞是由於PDF標準允許PDF文件用JavaScript指令碼指令的結果。在PDF閱讀器中禁止執行JavaScript有助於緩解那些未來的漏洞，即使這不阻止PDF檢視器其他部分的漏洞。安全專家稱JavaScript對於PDF閱讀器來說不是基本的，而且出於禁止JavaScript的安全保障勝過任何造成的相容性問題。阻止PDF檔案漏洞的一種方式是有本地或網路服務能在閱讀前把檔案轉換成其他格式。2010年3月30日安全專家Didier Stevens報告Adobe Reader和福昕閱讀器有如果使用者經詢問允許啟動時執行惡意可執行檔案的漏洞。使用限制和顯示.PDF可能會被加密，以致檢視或編輯內容時會要求輸入密碼。PDF參考書同時定義40位和128位加密，都運用RC4和MD5的複雜系統。PDF參考書還定義第三方可以制定他們自己的PDF加密系統的方式。PDF檔案或許還包含嵌入的DRM限制，提供限制複製、編輯或列印的進一步控制。複製、編輯或列印的限制取決於閱讀軟體遵循他們，因此他們提供的安全機制是有限的。PDF參考書有面向終端使用者概覽的技術細節。就像HTML檔案一樣，PDF檔案可以向網路伺服器提交資訊。這可以被用來追蹤客戶端PC的IP地址，這一過程被稱作背景連線通訊。Acrobat Reader升級到7.0.5以後，使用者會被提示“...via a dialogue box that the author of the file is auditing usage of the file, and be offered the option of continuing”。Adobe透過LiveCycle安全伺服器提供針對特定文件設定安全策略的方法。這可以包括要求使用者認證並限制文件可被離線開啟的時候可以被訪問或者載入的時期。PDF文件一旦被繫結到策略伺服器和指定策略，這一策略可以被所有者更改或撤銷。這一策略控制文件，否則就是“在自然狀態下”。每個文件開啟或關閉事件也可以被策略伺服器追蹤。策略伺服器可以由個人設定，或Adobe透過Adobe線上服務提供公共服務。和其他DRM形式一樣，依附這些策略和限制有可能會，也有可能不會被閱讀器軟體執行。預設的顯示設定.PDF文件可以包含顯示設定，包括頁面顯示輸出和縮放級別。開啟文件的時候Adobe Reader用這些設定去替換使用者的預設設定。免費的Adobe Reader不能移除這類限制。內容.PDF檔案通常混合了向量圖形、文字和點陣圖。PDF的基本內容包括：在近期PDF標準修訂中，PDF文件還支援連結，或者其他任意型別的能用外掛控制的可嵌入內容。PDF 1.6支援互動式3D文件嵌入PDF——3D繪圖可用U3D或PRC及其他多種格式嵌入。在電腦螢幕上看起來相似的兩個PDF檔案有可能大小不同。例如，一個高解析度點陣圖比低解析度的佔更多的儲存空間。通常更高的解析度更適宜列印文件而不是顯示於螢幕。其他可能影響檔案大小的可能有嵌入全部字型，尤其是東亞字型，以及將文字存為圖片。軟體.有許多軟體選項用來建立PDF，包括內建於Mac OS X及多數Linux發行版、LibreOffice、Microsoft Office 2016、WordPerfect 9、Scribus許多適用於Microsoft Windows的PDF列印驅動、pdfTeX排版系統、DocBook PDF工具、圍繞Ghostscript及Adobe Acrobat本身開發的應用以及Adobe FrameMaker的PDF排印功能。Google的線上辦公套件Google Docs也允許上傳、儲存為PDF。光柵影象處理器用於轉換PDF檔案為點陣圖格式以適應於成像在紙上及其他媒體的印表機、數字生產用印刷機以及一種被稱為柵格化的程序中的印前。有直接處理PDF能力的RIP包括在出自Adobe Systems和Jaws的Adobe PDF排印引擎與出自Global Graphics的Harlequin RIP當中。有一些軟體可以直接建立空白的 PDF 文件，例如 Adobe 官方的 Adobe Acrobat DC ，但是通常意義不大；因為 Adobe Acrobat 並不擅長於對文件進行排版。因為 PDF 具有完美展現檔案原貌的功能，因此市面上也有一部分軟體並非為 PDF 而生，但是透過一些開發庫或者圖形繪製框架也具有 PDF 的匯出功能。一些用於編輯PDF檔案的特殊軟體，透過受很多限制並且比建立和編輯標準可編輯文件格式更昂貴的選擇。Inkscape 0.46及以後版本允許透過Poppler加入中間的轉譯步驟編輯PDF。Adobe Acrobat DC 允許使用者對一個未加密的 PDF 檔案或者具有相關許可權使用者對 PDF 檔案進行編輯，同時還自帶了 OCR 識別、註釋、表單預備、合併，數字簽名等十分完善的功能Serif PagePlus可開啟、編輯和儲存已有的PDF文件，以及軟體包中建立的文件的釋出。Microsoft Office Word也支援開啟、編輯和儲存已有的PDF文件的編輯功能。Enfocus PitStop Pro，Acrobat的外掛，允許PDF檔案的手動和自動編輯，同時免費的Enfocus Browser可以使編輯PDF的低級別架構成為可能。大多數的 TeX 檔案經過編譯系統後預設輸出格式為 PDF 檔案註釋.Adobe Acrobat是允許使用者給已建立的PDF檔案註釋、高亮和新增筆記的專有軟體的一個案例。作為自由軟體可用的一個UNIX應用是PDFedit。另一個GPL授權的原生UNIX應用是Xournal。Xournal允許以不同的字型和顏色註釋，以及用於為文字或段落的快速下劃及高亮線條的規則。Xournal還有一個用於方形、矩形和圓形的形狀識別工具。Xournal中的註釋可以被移動、複製或貼上。免費軟體福昕閱讀器，適用於Microsoft Windows，允許註釋文件。Tracker Software的PDF-XChange Viewer的免費版允許不受限制的註釋和標記。蘋果Mac OS X內建PDF閱讀器Preview也可以像免費軟體Skim那樣註釋，後者支援與LaTeX、SyncTeX和PDFSync整合，以及與BibDesk理軟體整合。免費軟體Qiqqa可以建立總結所有註釋的報告，而且筆記透過他們的PDF庫做出來。對於移動版的註釋，iAnnotate PDF允許對PDF註釋以及匯出註釋的摘要。還有一些支援註釋PDF及其他文件格式web註釋系統，如A.nnotate、crocodoc、WebNotes。在PDF被期望擁有紙質文件的全部功能的地方，墨水注釋會被要求。一些接受來自滑鼠的墨水輸入的程式可能不足以對應平板上的手寫輸入。PC上已有的解決方案包括PDF Annotator和Qiqqa。其他.PDF軟體作為線上服務的例子包括用於檢視和儲存的Scribd、用於線上編輯的Pdfvue和用於PDF轉換的Zamzar。1993年出自Global Graphics的Jaws點陣圖處理器成為第一個不用轉換到其他格式原生產生PDF的銷售用的印前RIP。公司在1997年給他們的Harlequin RIP釋出了一個有同樣相容性的更新。愛克發-吉華1997年推介並出售Apogee，第一個基於PDF的印前工作流系統。許多商業的膠印機接受遞交發布就緒的PDF檔案作為印刷特別是PDF/X-1a子集和相同的變種。釋出就緒的PDF檔案的提交是對接收已收集本地檔案工作的不確定性需求的替代。PDF被選為Mac OS X的“本地”格式，取代早期Mac OS的格式。Quartz圖形層的影象模式基於Display PostScript和PDF共有的模式，產生了暱稱Display PDF。Preview應用與Safari網頁瀏覽器2.0及以後版本都可以顯示PDF檔案。對PDF的系統級支援使得Mac OS X應用可以自動建立PDF文件，給它們提供OS標準的列印架構支援。檔案可以按檔案標頭輸出為PDF 1.3格式。在Mac OS X 10.0到10.3版截圖時，影象也可以擷取為PDF；後來的版本儲存截圖為PNG檔案，雖然這一行為若有需要可以重新設定為PDF。一些桌面印表機也支援直接列印PDF，可以不用額外的輔助生成PDF資料。目前，所有PDF相容印表機也支援PostScript，但多數PostScript印表機不直接支援PDF列印。自由軟體基金會曾認為他們的一個高優先順序計劃“提供自由、高質量和全功能的一組軟體庫及程式實現PDF檔案格式及ISO 32000標準的相關技術”。而在2011年，GNU PDF計劃從“高優先順序”列表中被移除，因為Poppler庫的完善，激勵了像Evince之類的應用與GNOME桌面環境的廣泛應用。Poppler基於Xpdf程式碼。PDF軟體列表亦列出可用的商業開發用軟體庫。Apache軟體基金會的計劃是一款用於處理PDF文件的開放原始碼Java庫。PDFBox以Apache許可證授權釋出。一個名為 Devon Govett Apple 開發者早期使用 Quartz 的 CGPDFDocument  來讓開發者在 Apple 產品的作業系統上讓自己的 App 支援繪製，檢視，標註 PDF 等等功能