如何在 Java 中使用 GroupDocs.Parser 提取 PDF 文字
從 PDF 檔案中提取文字是資料驅動應用程式的常見需求,許多開發者也在尋找在 Java 環境中如何提取 pdf的方法。本指南將帶您一步步完成所有設定——從安裝 GroupDocs.Parser 到從 PDF 文件的每一頁提取原始文字。完成後,您將能自信地在 Java 專案中加入強大的 PDF 解析功能。
快速解答
- 哪個函式庫最適合在 Java 中提取 PDF 文字? GroupDocs.Parser for Java.
- 我可以在不保留格式的情況下提取原始 PDF 文字嗎? 可以——使用
TextOptions(true)進入原始模式。 - 執行程式碼是否需要授權? 免費試用授權可用於開發;正式環境需購買授權。
- 是否支援 Maven? 當然可以——將 GroupDocs 儲存庫與相依性加入
pom.xml。 - 這能處理大型 PDF 嗎? 可以,只要使用 try‑with‑resources 來管理記憶體。
在 Java 中什麼是 PDF 文字提取?
PDF 文字提取是指讀取 PDF 檔案內儲存的字元,並將其以純文字字串回傳。此功能可用於索引、分析、內容遷移或自動化報告。使用 GroupDocs.Parser,您可以快速且高保真地提取 extract pdf text java。
為什麼要在 Java 中使用 GroupDocs.Parser?
- 高精度 – 能處理複雜版面、表格與多語言文件。
- 簡易 API – 只需極少程式碼即可取得原始文字。
- 效能導向 – 基於串流的讀取降低記憶體負擔。
- 跨平台 – 可在任何相容 JVM 的環境執行。
前置條件
- Java Development Kit (JDK) 8 或更新版本。
- 已安裝 Maven(或能手動加入 JAR)。
- 有效的 GroupDocs.Parser 授權(免費試用可用於測試)。
設定 GroupDocs.Parser(Java 版)
使用 Maven
將 GroupDocs 儲存庫與 parser 相依性加入您的 pom.xml:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/parser/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>25.5</version>
</dependency>
</dependencies>
直接下載
如果不想使用 Maven,可從官方網站取得最新的 JAR: GroupDocs.Parser for Java releases。
取得授權步驟
從 GroupDocs 網站取得免費試用授權或購買正式授權。取得授權檔後,依文件說明在應用程式中設定。
基本初始化與設定
以下為啟動 Parser 實例所需的最小程式碼:
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.options.TextOptions;
String pdfFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.pdf";
try (Parser parser = new Parser(pdfFilePath)) {
// Your code to extract text goes here
}
實作指南
我們將把提取流程拆解為清晰的編號步驟,讓您輕鬆跟隨。
步驟 1:匯入必要的套件
確保以下匯入語句已存在:
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.TextReader;
import com.groupdocs.parser.options.IDocumentInfo;
import com.groupdocs.parser.options.TextOptions;
步驟 2:初始化 Parser 物件
建立 Parser 實例,指向您的 PDF 檔案:
try (Parser parser = new Parser(pdfFilePath)) {
// Further processing code
}
步驟 3:取得文件資訊
取得文件資訊可讓您知道有多少頁可供使用:
IDocumentInfo documentInfo = parser.getDocumentInfo();
步驟 4:遍歷每一頁並提取原始文字
遍歷每一頁並取得原始文字。TextOptions(true) 會指示 GroupDocs.Parser 回傳未格式化的文字,非常適合資料處理流程。
for (int p = 0; p < documentInfo.getRawPageCount(); p++) {
try (TextReader reader = parser.getText(p, new TextOptions(true))) {
String pageText = reader.readToEnd();
System.out.println(pageText); // Output the extracted text for each page
}
}
參數與方法說明
parser.getText(int pageNumber, TextOptions options): 從特定頁面提取文字。設定TextOptions(true)會回傳 extract raw pdf text,不含版面資訊。reader.readToEnd(): 讀取整個串流至單一String。
常見問題與解決方案
| 症狀 | 可能原因 | 解決方式 |
|---|---|---|
FileNotFoundException | 檔案路徑錯誤 | 確認 pdfFilePath 指向現有檔案,必要時使用絕對路徑。 |
| 輸出為空 | PDF 為掃描圖像 | GroupDocs.Parser 只能從可搜尋的 PDF 提取文字;若為掃描圖像請使用 OCR 附加元件。 |
| 大型 PDF 發生記憶體不足錯誤 | 未釋放資源 | 始終使用 try‑with‑resources(如範例所示)關閉 Parser 與 TextReader。 |
實務應用
- 資料分析 – 從 PDF 報告中提取客戶回饋,以進行情感分析。
- 自動化報告 – 從多個 PDF 中提取關鍵段落以產生摘要。
- 內容遷移 – 將舊有 PDF 內容搬移至資料庫或內容管理系統。
效能考量
- 記憶體管理:使用 try‑with‑resources 模式(已示範)即時釋放原生資源。
- 選擇性提取:若只需特定頁面,可遍歷
documentInfo.getRawPageCount()的子集合。 - 平行處理:對於大量批次,可考慮使用平行串流處理 PDF,同時注意 JVM 記憶體限制。
結論
本教學說明了如何使用 GroupDocs.Parser(Java 版)how to extract pdf 文字,從專案設定到逐頁提取原始文字。現在您已具備穩固的基礎,可將 PDF 解析整合至任何基於 Java 的工作流程。
下一步
- 嘗試使用
TextOptions以包含格式或提取特定區段。 - 結合提取的文字與自然語言處理(NLP)函式庫,以獲得更深入的洞見。
- 探索其他 GroupDocs.Parser 功能,如影像提取或 metadata 取得。
常見問答
Q: 什麼是 GroupDocs.Parser?
A: 它是一個 Java 函式庫,可從超過 100 種文件格式(包括 PDF)中提取文字、metadata 與影像。
Q: 如何處理受密碼保護的 PDF?
A: 在 Parser 建構子中傳入密碼:new Parser(pdfPath, "password")。
Q: 我可以同時提取影像與文字嗎?
A: 可以——GroupDocs.Parser 同時提供影像提取 API 與文字提取功能。
Q: 在正式環境使用 GroupDocs.Parser 需要付費嗎?
A: 可使用免費試用版進行評估;正式部署則需購買商業授權。
Q: 若提取的文字缺少字元該怎麼辦?
A: 確認 PDF 含有可選取的文字(非掃描圖像)。對於掃描 PDF,請使用 OCR 附加元件或 OCR 函式庫。
最後更新: 2026-02-14
測試版本: GroupDocs.Parser 25.5 for Java
作者: GroupDocs
資源