在 PDF 中使用 GroupDocs.Parser for Java 搜尋多個關鍵字
在 PDF 文件中搜尋特定文字可能相當具挑戰性,尤其是面對大型檔案或大量頁面時。如果您需要快速且可靠地在 PDF 檔案中搜尋多個關鍵字,GroupDocs.Parser for Java 函式庫提供了乾淨且高效能的解決方案。本教學將帶您完成函式庫的設定、依頁碼搜尋,以及處理不支援的格式——全部提供可直接複製到專案的實務範例。
快速解答
- 什麼函式庫可以協助您在 PDF 中搜尋多個關鍵字? GroupDocs.Parser for Java。
- 可以將結果限制在特定頁碼嗎? 是的,使用
SearchOptions您可以取得每個匹配項的頁索引。 - 開發時需要授權嗎? 免費試用可用於測試;正式環境需購買授權。
- 支援正規表達式嗎? 當然,於
SearchOptions中啟用即可。 - 需要哪個 Java 版本? Java 8 或以上,搭配 Maven 或 Gradle 建置工具。
什麼是「在 PDF 中搜尋多個關鍵字」?
當您需要在大型 PDF 中同時定位多個詞彙——例如「invoice」、「due date」或「total」——一次性搜尋並返回每個命中所在的頁碼,可節省時間並降低程式碼複雜度。GroupDocs.Parser 抽象化了低階 PDF 解析,提供簡易 API 讓您執行這類多關鍵字查詢。
為什麼使用 GroupDocs.Parser for Java?
- 即使是掃描或複雜的 PDF,也能精確提取文字。
- 內建頁面索引,讓您確切知道每個關鍵字出現的位置。
- 例外處理,支援不支援的格式、加密檔案及記憶體密集型文件。
- 零相依 Maven 整合,快速設定專案。
前置條件
- Java 8 以上 以及相容 Maven 的 IDE(IntelliJ IDEA、Eclipse 等)。
- GroupDocs.Parser for Java(版本 25.5 或更新)。
- 具備 Java 例外處理與檔案 I/O 的基本知識。
設定 GroupDocs.Parser for Java
您可以透過 Maven 加入函式庫,或直接下載。
使用 Maven
將儲存庫與相依性加入您的 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>
直接下載
亦可從 GroupDocs.Parser for Java releases 下載最新版本。
License Acquisition:先使用免費試用或申請臨時授權測試 GroupDocs.Parser。長期使用請考慮購買正式授權。
基本初始化與設定
函式庫可用後,初始化相當簡單:
import com.groupdocs.parser.Parser;
String filePath = "YOUR_DOCUMENT_DIRECTORY/sample.pdf";
try (Parser parser = new Parser(filePath)) {
// Your parsing logic here
} catch (Exception e) {
System.err.println("An error occurred: " + e.getMessage());
}
實作指南
我們將實作分為兩個實用功能:
- 在 PDF 中搜尋多個關鍵字並取得頁碼 – 適用於「依頁碼搜尋 PDF」的情境。
- 優雅的錯誤處理以因應不支援的文件格式。
功能 1:在 PDF 中搜尋多個關鍵字並取得頁面索引
概觀
GroupDocs.Parser 的 search 方法結合 SearchOptions,可定位任意詞彙(或正規表達式模式),同時返回字元位置與頁面索引。
步驟說明
步驟 1 – 匯入所需類別
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.SearchResult;
import com.groupdocs.parser.options.SearchOptions;
import com.groupdocs.parser.exceptions.UnsupportedDocumentFormatException;
步驟 2 – 初始化 parser 並設定 SearchOptions
String filePath = "YOUR_DOCUMENT_DIRECTORY/sample.pdf"; // Replace with actual document path
try (Parser parser = new Parser(filePath)) {
if (!parser.getFeatures().isText()) {
throw new UnsupportedDocumentFormatException("Text extraction isn't supported.");
}
// false = case‑insensitive, false = not whole‑word, false = regex disabled, true = return page index
SearchOptions options = new SearchOptions(false, false, false, true);
Iterable<SearchResult> results = parser.search("invoice|due date|total", options);
for (SearchResult result : results) {
System.out.println(String.format("Found at position %d on page %d: %s",
result.getPosition(),
result.getPageIndex() + 1, // pages are zero‑based
result.getText()));
}
} catch (UnsupportedDocumentFormatException e) {
System.err.println(e.getMessage());
}
說明關鍵參數
filePath:您要搜尋的 PDF 檔案路徑。SearchOptions(false, false, false, true):- Case‑sensitive –
false使搜尋不區分大小寫。 - Whole‑word –
false允許部分匹配。 - Regex –
false關閉正規表達式解析;若需 regex,請設為true。 - Return page index –
true確保每個SearchResult含有頁碼。
- Case‑sensitive –
**提示:**搜尋字串 "invoice|due date|total" 使用管道符號 (|) 於一次呼叫中搜尋多個關鍵字。
疑難排解
- 結果為空:確認 PDF 確實包含可選取的文字(而非僅圖像)。
- 頁碼不正確:請記得
getPageIndex()為零基礎;加上+1以得到人類可讀的頁碼。
功能 2:不支援文件格式的錯誤處理
概觀
並非所有檔案皆能解析文字(例如加密或僅含影像的 PDF)。捕捉 UnsupportedDocumentFormatException 可讓應用程式優雅失敗。
實作
步驟 1 – 在 try‑catch 區塊中建立 parser
try (Parser parser = new Parser(filePath)) {
if (!parser.getFeatures().isText()) {
throw new UnsupportedDocumentFormatException("Text extraction isn't supported.");
}
} catch (UnsupportedDocumentFormatException e) {
System.err.println(e.getMessage());
}
為何重要
提前偵測不支援的格式後,您可以通知使用者、記錄問題,或改用 OCR 解決方案,而不是讓整個流程崩潰。
實務應用
以下三種常見情境特別適合 在 PDF 中搜尋多個關鍵字:
- 法律文件審查 – 在數百頁中定位「不可抗力」、「終止」或「保密」等條款。
- 發票處理 – 一次性擷取「發票號碼」、「到期日」與「總金額」以自動化會計。
- 學術研究 – 掃描論文以找出多種術語變體(例如「機器學習」、「深度學習」、「神經網路」)。
效能考量
- 僅解析所需頁面:若已知相關章節,可限制搜尋範圍以減少記憶體使用。
- 使用 try‑with‑resources(如範例所示)確保及時關閉 parser,防止記憶體洩漏。
- 避免將整個 PDF 載入記憶體,處理極大檔案時可分塊處理。
結論
您現在已掌握完整、可投入生產環境的 在 PDF 中搜尋多個關鍵字 方法,能取得精確頁碼並優雅處理不支援的格式。將這些程式碼片段整合至批次處理、Web 服務或桌面工具,即可大規模自動化文件分析。
後續步驟
- 嘗試使用正規表達式模式以進行更複雜的搜尋。
- 將搜尋結果與 PDF 寫入器(如 GroupDocs.Conversion)結合,以標註匹配項目。
- 探索批次處理:遍歷 PDF 資料夾並將結果儲存至資料庫。
常見問題
Q: 可以一次搜尋多個關鍵字嗎?
A: 可以。使用管道分隔的字串(例如 "invoice|due date|total")或在 SearchOptions 中啟用 regex。
Q: 若文件被加密該怎麼辦?
A: 建立 Parser 時提供密碼。若沒有密碼,函式庫會拋出例外,您可以捕捉處理。
Q: 如何有效處理非常大的 PDF 檔案?
A: 逐頁處理檔案,或使用 SearchOptions 限制搜尋範圍至特定頁碼區段。
Q: GroupDocs.Parser 是否相容所有 PDF 版本?
A: 它支援大多數 PDF 標準(1.4‑1.7、PDF/A、PDF/X),但仍建議使用前自行測試您的檔案。
Q: 可以用於文件的批次處理嗎?
A: 當然可以。遍歷目錄、套用相同搜尋邏輯,並將每個檔案的結果寫入資料庫。
資源
- Documentation:GroupDocs.Parser Java Documentation
- API Reference:GroupDocs API Reference
Last Updated: 2026-04-21
Tested With: GroupDocs.Parser for Java 25.5
Author: GroupDocs
{< /blocks/products/pf/tutorial-page-section >} {< /blocks/products/pf/main-container >} {< /blocks/products/pf/main-wrap-class >} {< blocks/products/products-backtop-button >}