使用 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。
實務應用
條碼提取有多種應用,包括:
- Inventory management – 透過讀取入庫 PDF 中的條碼,快速更新庫存記錄。
- Supply chain optimization – 透過比對提取的條碼與預期項目,驗證出貨清單。
- 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),即可供解析引擎辨識。
資源
- 文件說明:GroupDocs.Parser Java Docs
- API 參考:GroupDocs API Reference
- 下載:Latest GroupDocs Releases
- GitHub:GroupDocs Parser GitHub Repository
- 免費支援:GroupDocs Forum
- 臨時授權:Obtain a Temporary License
最後更新: 2026-10-02
測試環境: GroupDocs.Parser 25.5
作者: GroupDocs