如何在 Java 中使用 GroupDocs.Parser 提取 PDF 文本

當您需要以程式方式了解 how to extract pdf 檔案——尤其是從 Java 中的 PDF 提取文字時——GroupDocs.Parser 提供了一種快速、可靠的方式來取得您所需的精確資訊。在本教學中,我們將逐步說明如何設定函式庫、使用正規表達式定義模板欄位,以及依模板解析文件。完成後,您將熟悉 extract text pdf java 技術,可在發票、合約、報告等多種情境中重複使用。

快速答案

  • 主要的函式庫是什麼? GroupDocs.Parser for Java
  • 使用的語言是什麼? Java 8+ (compatible with newer JDKs)
  • 如何定義欄位? Use TemplateRegexPosition with a regular expression
  • 可以依模板解析嗎? Yes, call parser.parseByTemplate(template)
  • 我需要授權嗎? A trial works for basic tests; a full license unlocks all features

什麼是 PDF 文字提取,為何重要?

PDF 文字提取(或 how to extract pdf)讓您能自動化從文件中收集資料,否則必須手動複製貼上。這可節省時間、降低錯誤,並啟用後續處理,如分析、索引或與其他系統整合。

為何選擇 GroupDocs.Parser for Java?

  • Built‑in template engine – 定義一次可重複使用的模式,並套用至任何 PDF。
  • Regular‑expression support – 完美處理日期、金額或 ID 等複雜模式。
  • No external dependencies – 開箱即用,支援 Maven 或直接下載 JAR。

前置條件

  • Java Development Kit (JDK) 8 或更新版本
  • Maven(或手動加入 JAR 的能力)
  • 具備 Java 與正規表達式的基本知識

設定 GroupDocs.Parser for Java

Maven 設定

Add the GroupDocs repository and dependency to your 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 下載最新版本。

授權取得

若要完整使用 GroupDocs.Parser,請考慮取得臨時授權或直接購買。可使用免費試用版測試其功能。

基本初始化與設定

Once your dependencies are configured, you can initialize the parser in your Java application:

import com.groupdocs.parser.Parser;

try (Parser parser = new Parser("path/to/your/document.pdf")) {
    // Your parsing logic here
} catch (Exception e) {
    e.printStackTrace();
}

如何使用 GroupDocs.Parser 提取 PDF 文字(parse pdf template java)

使用正規表達式定義模板欄位

本節示範如何在 Java 中使用正規表達式定義模板欄位。

步驟 1:匯入必要的類別

import com.groupdocs.parser.templates.TemplateField;
import com.groupdocs.parser.templates.TemplateRegexPosition;

步驟 2:使用正規表達式定義欄位

此處,我們定義一個匹配金額的欄位。模式 \\$\\d+(\\.\\d+)? 可捕獲以 $ 為前綴的整數與小數。

TemplateField field = new TemplateField(
    new TemplateRegexPosition("\\\\$\\\\d+(\\\\.\\\\d)?"),
    "Price");

說明

  • TemplateRegexPosition 使用正規表達式來定位文字。
  • "Price" 是將出現在提取結果中的標籤。

步驟 3:建立模板

import com.groupdocs.parser.templates.Template;
import java.util.Arrays;

Template template = new Template(Arrays.asList(new TemplateItem[]{field}));

說明

  • Template 將一個或多個 TemplateField 物件分組。
  • Arrays.asList() 將陣列轉換為 Template 建構子所需的清單。

依模板解析文件(extract text pdf java)

步驟 1:匯入解析類別

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.DocumentData;
import com.groupdocs.parser.data.PageTextArea;

步驟 2:依模板解析文件

'YOUR_DOCUMENT_DIRECTORY' 替換為您的 PDF 檔案路徑。

try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/SampleInvoice.pdf")) {
    DocumentData data = parser.parseByTemplate(template);

    for (int i = 0; i < data.getCount(); i++) {
        String fieldName = data.get(i).getName();
        PageTextArea area = data.get(i).getPageArea() instanceof PageTextArea
                ? (PageTextArea) data.get(i).getPageArea()
                : null;
        
        String fieldValue = area == null ? "Not a template field" : area.getText();
        System.out.println(fieldName + ": " + fieldValue);
    }
} catch (Exception e) {
    e.printStackTrace();
}

說明

  • parseByTemplate(template) 依據正規表達式定義的欄位執行提取。
  • 迴圈會印出每個欄位的名稱與提取的值。

疑難排解技巧

  • Invalid Path – 驗證檔案位置。使用絕對路徑可減少大部分混淆。
  • Regex Issues – 在嵌入之前,先使用線上測試工具測試您的正規表達式。
  • Memory Constraints – 對於大型 PDF,請分批處理或使用串流 API。

實務應用

  1. Invoice Processing – 自動提取價格、日期與總金額。
  2. Contract Analysis – 在不閱讀整份文件的情況下定位關鍵條款或日期。
  3. Report Summarization – 提取儀表板所需的主要數字。
  4. Log Parsing – 識別 PDF 日誌中嵌入的錯誤代碼或時間戳記。

效能考量

  • 保持正規表達式簡潔;避免過度回溯。
  • 使用 try‑with‑resources(如範例所示)確保 parser 正確關閉。
  • 處理數千份 PDF 時,考慮使用執行緒池進行平行處理。

結論

您現在已了解如何在 Java 中使用 GroupDocs.Parser how to extract pdf 文字、如何使用正規表達式定義可重複使用的模板欄位,以及如何依這些模板解析文件。此方法可大幅提升資料輸入工作流程的速度與準確性。

下一步:嘗試不同的正規表達式模式,將多個欄位合併成單一模板,並將提取結果整合至下游系統(資料庫、API 或分析管線)。

常見問題

Q: GroupDocs.Parser for Java 是什麼?
A: 一個強大的函式庫,可從各種文件格式(包括 PDF)提取文字、影像與中繼資料。

Q: 在 PDF 解析過程中如何處理錯誤?
A: 將解析邏輯包裹在 try‑catch 區塊中,並使用 try‑with‑resources 以自動確保 parser 關閉。

Q: 可以在沒有授權的情況下使用 GroupDocs.Parser 嗎?
A: 提供試用版以進行有限測試,但完整功能需購買正式授權。

Q: 可以解析哪些文件類型?
A: 除了 PDF,函式庫亦支援 DOCX、XLSX、PPTX 以及其他多種常見格式。

Q: 正規表達式如何提升資料提取?
A: 它們讓您精確定位特定模式(如日期或金額),僅捕獲所需資訊。


最後更新: 2026-04-07
測試環境: GroupDocs.Parser 25.5 for Java
作者: GroupDocs

資源