如何使用 GroupDocs.Parser 在 Java 中提取 PDF:完整指南

在現代的 Java 應用程式中,如何快速且可靠地提取 PDF 是常見需求。無論您是構建搜尋索引、發票處理流程,或是條碼驅動的庫存系統,GroupDocs.Parser for Java 都提供乾淨且高效能的 API,讓您在不必處理 PDF 低層細節的情況下讀取 PDF 內容。在本教學中,您將會看到如何設定庫、初始化 Parser 類別,並抽取文字、影像與條碼——同時優雅地處理解析例外。

快速解答

  • 什麼是 Java 中的「如何提取 PDF」? 使用 GroupDocs.Parser 的 Parser 類別開啟 PDF,並呼叫如 extractText()extractImages()extractBarcodes() 等方法。
  • 哪個方法可將 PDF 頁面讀取為純文字? extractText() 會回傳包含完整文件文字的 String,保留換行。
  • 我可以在 PDF 內掃描條碼嗎? 可以——extractBarcodes() 會在每頁偵測並解碼標準的 1D/2D 條碼。
  • 當 PDF 損毀時,如何避免程式崩潰? 將所有 parser 呼叫包在 ParserExceptionIOException 的 try‑catch 區塊中。
  • 是否支援影像抽取? 當然支援——extractImages() 會提供影像串流清單,您可以將其儲存為 PNG、JPEG 等格式。

什麼是 GroupDocs.Parser for Java?

GroupDocs.Parser for Java 是專門的文件解析函式庫,將 PDF、Word、Excel 以及影像格式抽象為易於使用的 Java 物件。它支援 50+ 輸入與輸出格式,且能在不將整個檔案載入記憶體的情況下處理上百頁的 PDF,十分適合高吞吐量的後端服務。

為何使用 GroupDocs.Parser 進行 PDF 抽取?

GroupDocs.Parser 提供可靠且高效能的解決方案,用於從 PDF 抽取資料,能處理複雜版面、Unicode 文字與嵌入資源,同時保持低記憶體使用量。它亦內建條碼偵測與影像抽取,減少對其他第三方工具的需求,僅以單一、文件完整的 API 即可完成。

  • 效能: 在一般 8 核心伺服器上,處理 300 頁的 PDF 可於 2 秒內完成,記憶體使用量低於 150 MB。
  • 準確度: 保留 Unicode 字元、表格與版面元素,正確率超過 99 %。
  • 功能集: 內建條碼偵測、影像抽取與中繼資料取得——全部集中於同一 API。

前置條件

  • Java Development Kit (JDK): 8 版或更新版本。
  • Maven: 用於相依管理。
  • GroupDocs.Parser Library: 版本 25.5 或更新(最新穩定版)。

必要的函式庫、版本與相依性

  • GroupDocs.Parser for Java – v25.5+
  • SLF4J – 需要用於日誌(透過 Maven 自動包含)。

環境設定需求

  • IDE,例如 IntelliJ IDEA 或 Eclipse。
  • 建置工具:Maven(亦支援 Gradle,但此處使用 Maven 範例)。

知識前提

  • 基本的 Java 語法與例外處理。
  • 熟悉 Maven pom.xml 結構。

設定 GroupDocs.Parser for Java

使用 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 下載最新的 JAR。

取得授權步驟

  • 免費試用: 在 GroupDocs 網站註冊以取得有限時間的試用金鑰。
  • 臨時授權: 申請開發與測試用的臨時授權。
  • 正式授權: 購買商業授權以供正式環境使用;可移除所有評估限制。

實作指南

在 Java 中初始化 Parser 類別

定義錨點

Parser 類別是核心入口點,代表已載入記憶體的 PDF(或其他支援的文件),提供文字、影像與條碼抽取的方法。

如何初始化 Parser 類別?

在 try‑with‑resources 區塊中建立 Parser 實例;此做法可自動關閉底層檔案串流,防止資源洩漏。使用此模式亦能確保函式庫分配的任何原生資源即時釋放,對於長時間執行且處理大量文件的服務至關重要。

import com.groupdocs.parser.Parser;

如何從 PDF 抽取文字?

Parser 實例上呼叫 extractText()。此方法回傳一個包含文件完整文字內容的 String,保留段落換行與 Unicode 字元。之後可將此字串傳遞給下游元件,如搜尋索引、分析管線,或直接寫入 .txt 檔案作為存檔用途。

public class FeatureInitializeParser {
    public static void main(String[] args) {
        // Create an instance of Parser class
        try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/SamplePdfWithBarcodes")) {
            // Additional operations can be performed with the parser instance here.
        } catch (Exception e) {
            System.out.println("Error initializing parser: " + e.getMessage());
        }
    }
}

參數與方法說明

  • new Parser(String filePath):載入位於 filePath 的 PDF。
  • extractText():回傳整份文件的文字。
  • extractImages():提供每個嵌入圖片的影像串流清單。
  • extractBarcodes():在每頁偵測並解碼條碼。

實務應用

如何在 Java 中讀取 PDF 內容以建立搜尋索引?

使用 Parser 載入 PDF,呼叫 extractText(),再將產生的字串輸入至 Apache Lucene 或 Elasticsearch。這樣即可在文件庫中實現全文搜尋,讓使用者能根據關鍵字查詢與片語匹配快速找到相關資訊。

如何在 Java 中抽取 PDF 影像以產生縮圖?

使用 extractImages() 取得每張影像的位元組陣列,然後將位元組寫入 PNG 檔案。extractImages() 方法回傳代表每個嵌入圖片的影像串流清單,讓您輕鬆為文件管理系統產生預覽縮圖。

如何在 Java 中掃描 PDF 條碼以實現庫存自動化?

呼叫 extractBarcodes();此方法回傳條碼值與其位置,您可將其對照產品資料庫以自動更新庫存。此方式可消除手動資料輸入,並透過直接將掃描條碼連結至現有記錄,加速庫存處理。

效能考量

  • 資源管理: 實例化 Parser 時務必使用 try‑with‑resources,以確保自動清理。
  • 記憶體占用: 對於非常大的 PDF(>500 頁),可考慮使用 Parser.getPages() 分批處理頁面,以避免一次載入整份文件。
  • 執行緒安全性: 每個 Parser 實例皆受限於單一執行緒;在平行處理時請為每個執行緒建立獨立實例。

常見問題與解決方案

  • 解析例外: 若 PDF 損毀,會拋出 ParserException。請捕獲並記錄檔案名稱以供日後檢查。
  • 不支援的條碼類型: GroupDocs.Parser 支援 QR、Code128 與 UPC。若需處理較為罕見的條碼,可能需要專門的條碼函式庫。
  • 大型影像抽取: 抽取高解析度影像時,請逐步寫入磁碟,以避免 OutOfMemory 錯誤。

常見問答

Q: GroupDocs.Parser 支援哪些檔案格式?
A: 它支援超過 50 種格式,包括 PDF、DOCX、XLSX、PPTX、HTML,以及帶有嵌入條碼的常見影像類型。

Q: 我可以在商業專案中使用 GroupDocs.Parser 嗎?
A: 可以——只要取得有效的商業授權,即可將函式庫嵌入任何正式應用程式。

Q: 我該如何處理解析過程中的錯誤?
A: 將所有 parser 呼叫包在 ParserExceptionIOException 的 try‑catch 區塊中。這可確保應用程式能優雅地從格式錯誤的檔案中恢復。

Q: 是否支援自訂資料抽取模板?
A: 當然支援——GroupDocs.Parser 允許您定義抽取模板,直接將結構化資料(表格、鍵值對)抽取至 Java 物件。

Q: 我在哪裡可以找到更多關於使用 GroupDocs.Parser 的資源?
A: 請參閱 官方文件API 參考文件,其中有詳細指南、程式碼範例與 API 說明。

結論

現在您已掌握使用 GroupDocs.Parser 在 Java 中 如何提取 PDF 的完整、可投入生產的路線圖。透過初始化 Parser 類別、呼叫 extractText()extractImages()extractBarcodes(),並妥善處理解析例外,您即可建構能夠擴展至大型檔案與高吞吐量環境的穩健文件處理管線。可進一步探索如中繼資料抽取或自訂模板等進階功能,以豐富您的應用程式。


Last Updated: 2026-05-28
Tested With: GroupDocs.Parser 25.5 for Java
Author: GroupDocs


Resources

相關教學