Apache PDFBox 函式庫是一個用於處理 PDF 文件的開源 Java 工具。該專案允許建立新的 PDF 文件、操作現有文件以及從文件中提取內容的能力。 PDFBox 還包括幾個命令列實用程式。 PDFBox 是根據 Apache 授權 2.0 版發布的。
PDFBox 是 Apache 軟體基金會的一個專案。
您可以從我們的下載頁面下載目前正在開發的版本或舊版本的二進位版本。
您需要 Java 11(或更高版本)和 Maven 3 來建立 PDFBox。推薦的建置命令是:
mvn clean install
預設建置將編譯Java來源並將二進位類別打包成jar包。有關所有其他可用的建置選項,請參閱 Maven 文件。
有多種方法可以幫助我們改進 PDFBox。
請遵循我們支援頁面上的指南。
如果您對如何使用 PDFBox 有疑問,請在使用者郵件清單中提問。這將為您提供整個社區的幫助。
來源中的 PDFBox 範例和測試程式碼也將提供附加資訊。
Stack Overflow 等網站上也提供其他資源。
如果您確定發現了錯誤,請在我們的問題追蹤器中報告該問題。
請參閱問題追蹤器以取得已知問題和請求的功能的完整清單。一些更常見的問題是:
當您提取文本時,您會得到類似“G38G43G36G51G5”的文本,而不是您期望的文本。這是因為字元是無意義的內部編碼,指向嵌入在 PDF 文件中的字形。存取文字的唯一方法是使用 OCR。這可能是未來的增強。
您會收到類似java.io.IOException: Can't handle font width
錯誤訊息,這可能是由於您的類別路徑中沒有org/apache/pdfbox/resources目錄。最簡單的解決方案是將apache-pdfbox-xxxjar包含在類別路徑中。
您得到的文字具有正確的字符,但順序錯誤。這可能是因為您沒有啟用排序。 PDF 文件中的文字以區塊的形式存儲,且區塊不需要按照它們在頁面上顯示的順序儲存。預設情況下,PDFBox 不會對文字進行排序。
集體作品:版權所有 2015 Apache 軟體基金會。
根據一項或多項貢獻者授權協議獲得 Apache Software Foundation (ASF) 的許可。有關版權所有權的其他信息,請參閱隨本作品分發的通知文件。 ASF 根據 Apache 授權 2.0 版(「授權」)授予您此文件的授權;除非遵守許可證,否則您不得使用此文件。您可以在以下位置取得許可證副本:
https://www.apache.org/licenses/LICENSE-2.0
除非適用法律要求或書面同意,否則根據許可證分發的軟體均以「原樣」分發,不帶任何明示或暗示的保證或條件。請參閱許可證,了解許可證下管理權限和限制的特定語言。
該發行版包括加密軟體。您目前居住的國家/地區可能對加密軟體的進口、擁有、使用和/或再出口到另一個國家/地區有限制。在使用任何加密軟體之前,請檢查您所在國家/地區有關進口、擁有或使用以及再出口加密軟體的法律、法規和政策,以了解是否允許這樣做。請參閱 https://www.wassenaar.org/ 以了解更多資訊。
美國政府商務部工業與安全局 (BIS) 已將此軟體分類為出口商品控制編號 (ECCN) 5D002.C.1,其中包括使用非對稱演算法或執行加密功能的資訊安全軟體。此 Apache Software Foundation 發行版的形式和方式使其符合目標代碼和原始代碼的許可例外 ENC 技術軟體無限制 (TSU) 例外(請參閱 BIS 出口管理條例第 740.13 節)的出口資格。
以下提供了有關所含加密軟體的更多詳細資訊:
Apache PDFBox 使用 Java 加密體系結構 (JCA) 和 Bouncy Castle 函式庫來處理 PDF 文件中的加密。