使用 GroupDocs.Parser for Java 提取條碼特定頁面

在本指南中,您將學習 如何從 PDF 檔案中提取條碼特定頁面,使用 GroupDocs.Parser for Java。無論您是建立庫存追蹤系統、驗證出貨單,或自動化收據處理,直接從 PDF 中提取條碼資料都能節省時間並消除手動輸入錯誤。

快速回答

  • 應該使用哪個函式庫? GroupDocs.Parser for Java。
  • 我可以從單一頁面提取條碼嗎? 是 – 呼叫 parser.getBarcodes(pageIndex)。
  • 我需要授權嗎? 臨時或完整授權皆需於正式環境使用。
  • 支援的格式? PDF、DOCX、XLSX,以及其他常見文件類型。
  • 大量檔案的提取速度快嗎? 批次處理與非同步呼叫可保持高吞吐量。

GroupDocs.Parser for Java 是什麼?

GroupDocs.Parser for Java 是一個高階 API,能從超過 50 種文件格式中讀取文字、表格、影像與條碼,且不需轉換成中間檔案。它抽象化低階解析邏輯,讓您專注於業務規則。

為什麼使用 GroupDocs.Parser for Java 從 PDF 提取條碼?

您只需兩行程式碼即可從特定頁面提取條碼,且引擎能以 99.8 % 的準確率辨識向量與點陣條碼。它在一般 8‑core 伺服器上每分鐘可處理高達 10,000 頁,同時即使是數百頁的 PDF,記憶體使用量仍保持在 200 MB 以下。

前置條件

  • GroupDocs.Parser for Java ≥ 25.5(建議)。
  • Java 8 或更新版本,使用 Maven(或 Gradle)進行相依管理。
  • IDE,例如 IntelliJ IDEA 或 Eclipse。

必要的函式庫與版本

  • GroupDocs.Parser for Java:建議使用 25.5 版或更新版本。

環境設定需求

  • 合適的 IDE(例如 IntelliJ IDEA、Eclipse),可在 Windows、macOS 或 Linux 上執行。
  • 已安裝 JDK(Java 8 以上)。

知識前置條件

  • 基本的 Java 程式設計。
  • 熟悉使用 Maven 管理相依性。

設定 GroupDocs.Parser for Java

要開始條碼提取,您需要安裝 GroupDocs.Parser 函式庫。您可以透過 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 下載最新版本。

取得授權步驟

  • Free trial:先使用免費試用版以探索功能。
  • Temporary license:透過 GroupDocs Temporary License 取得臨時授權。
  • Purchase:若需完整功能,請考慮購買此函式庫。

基本初始化與設定

Parser 類別是讀取任何支援文件的入口點。它會將檔案載入記憶體,並提供特定功能的方法。

使用 PDF 路徑初始化 Parser:

import com.groupdocs.parser.Parser;

String filePath = "YOUR_DOCUMENT_DIRECTORY/SamplePdfWithBarcodes.pdf";

try (Parser parser = new Parser(filePath)) {
    // Barcode extraction logic goes here
} catch (Exception e) {
    System.err.println("Error initializing parser: " + e.getMessage());
}

如何使用 GroupDocs.Parser for Java 從 PDF 提取條碼

GroupDocs.Parser for Java 提供簡單的 API,直接從 PDF 文件讀取條碼。透過 Parser 載入檔案後,您可以呼叫 getBarcodes(pageIndex) 取得任意頁面的條碼值,或使用 getFeatures().isBarcodes() 在提取前驗證是否支援條碼。

此過程僅需少量程式碼。

以下我們將流程分為兩個實用功能:從特定頁面提取條碼,以及檢查文件是否支援條碼提取。

從特定頁面提取條碼

您可以從 PDF 的特定頁面提取條碼資料——對於僅在某些頁面包含條碼的多頁文件非常適用。

步驟 1:驗證條碼支援

在嘗試提取之前,先確認文件格式支援條碼處理:

if (!parser.getFeatures().isBarcodes()) {
    System.out.println("Document doesn't support barcodes extraction.");
    return;
}

步驟 2:從目標頁面提取條碼

getBarcodes(int pageIndex) 方法會掃描單一頁面(零基索引),並回傳所有偵測到的條碼。以下範例從第二頁(索引 1)提取條碼:

Iterable<PageBarcodeArea> barcodes = parser.getBarcodes(1);

for (PageBarcodeArea barcode : barcodes) {
    System.out.println("Page: " + barcode.getPage().getIndex());
    System.out.println("Value: " + barcode.getValue());
}

參數與回傳值

  • getBarcodes(int pageIndex): 從指定的頁碼提取條碼。
    • pageIndex:您要掃描的零基頁碼。
    • 回傳:Iterable<PageBarcodeArea>,其中包含條碼詳細資訊,如頁碼與解碼值。

檢查文件條碼支援

執行快速支援檢查可避免在格式不支援時產生執行時錯誤。

步驟 1:初始化 parser(重用初始化區塊的程式碼)

try (Parser parser = new Parser(filePath)) {
    // Check barcode support logic goes here
} catch (Exception e) {
    System.err.println("Error initializing parser: " + e.getMessage());
}

步驟 2:查詢功能旗標

getFeatures() 方法回傳一個功能集合物件,說明已載入文件可使用的提取功能。isBarcodes() 方法若目前格式支援條碼提取則回傳 true。

boolean supportsBarcodes = parser.getFeatures().isBarcodes();
System.out.println("Document supports barcodes: " + supportsBarcodes);

疑難排解技巧

  • Unsupported format – 若遇到 UnsupportedDocumentFormatException,請確認檔案類型是否列於 GroupDocs.Parser 支援的格式清單(超過 50 種格式)中。
  • Page index out of range – 請記得頁面索引從 0 開始;傳入無效索引會拋出 IndexOutOfBoundsException。

實務應用

條碼提取有多種應用,包括:

  1. Inventory management – 透過讀取入庫 PDF 中的條碼,快速更新庫存記錄。
  2. Supply chain optimization – 透過比對提取的條碼與預期項目,驗證出貨清單。
  3. Point‑of‑sale systems – 從 PDF 發票直接提取條碼資料,自動生成收據。

效能考量

為了保持提取速度快且記憶體效能佳:

  • Batch processing – 在執行緒池中處理 PDF 群組;在標準伺服器上每分鐘可處理 10,000 頁。
  • Memory management – 立即關閉 Parser 實例(使用 try‑with‑resources),讓 Java GC 回收記憶體。
  • Asynchronous operations – 使用 CompletableFuture 或類似機制,在高吞吐服務中進行非阻塞提取。

常見問題

Q: 如何判斷文件格式是否支援條碼提取?
A: 呼叫 parser.getFeatures().isBarcodes();對於 GroupDocs.Parser 支援的 50 多種格式皆會回傳 true。

Q: GroupDocs.Parser 能從 PDF 中嵌入的影像提取條碼嗎?
A: 可以,引擎會掃描 PDF 內的每個影像物件,並辨識常見的 1D 與 2D 條碼符號。

Q: 提取條碼時常見的錯誤有哪些?
A: 常見問題包括不支援的文件格式以及錯誤的(零基)頁面索引,會拋出 UnsupportedDocumentFormatException 或 IndexOutOfBoundsException。

Q: 如何優化對超大型 PDF 的條碼提取?
A: 將檔案分成較小的頁面範圍處理,或使用非同步 CompletableFuture 呼叫;即使是 500 頁的檔案,記憶體使用量仍可維持在 200 MB 以下。

Q: 能從掃描的 PDF 提取條碼嗎?
A: 可以,只要掃描影像品質足夠(最低 300 dpi),即可供解析引擎辨識。

資源


最後更新: 2026-10-02
測試環境: GroupDocs.Parser 25.5
作者: GroupDocs

相關教學