如何在 Java 中使用 GroupDocs.Parser 解析表格

在本教學中,您將學習 如何在 Java 中解析表格,使用 GroupDocs.Parser,這是一個強大的函式庫,可從 PDF、Word 檔案和試算表中提取結構化資料。高效的表格提取可大幅加快發票處理、資料遷移和報告任務的速度。讓我們一步步走過整個工作流程——從設定函式庫、定義表格範本,到最終提取所需資料。

簡介

高效解析文件對於需要從 PDF、Word 文件或試算表等各種格式提取結構化資料的企業至關重要。自動化此過程可節省時間並降低錯誤。此完整指南將教您如何使用 GroupDocs.Parser for Java 來定義與解析文件中的表格——這是簡化文件處理工作流程的關鍵技能。

快速回答

  • What is the primary purpose? 使用 Java 從文件中提取結構化的表格資料。
  • Which library is required? GroupDocs.Parser for Java (v25.5+)。
  • Do I need a license? 提供免費試用;商業環境需購買授權。
  • Can I process PDFs and Word files? 可以,函式庫支援 PDF、DOCX、XLSX 以及其他多種格式。
  • Is batch processing supported? 完全支援——可在迴圈或平行串流中處理多個檔案。

您將學習的內容

  • 設定 GroupDocs.Parser for Java
  • 使用特定佈局建立表格範本
  • 使用預先定義的範本解析文件
  • 這些功能的實際應用案例

完成本指南後,您將能夠實作並優化自己的文件解析解決方案。讓我們開始吧!

在 GroupDocs.Parser 中,「如何解析表格」是什麼意思?

解析表格是指在文件中定位表格區域、映射列與欄,並提取每個儲存格的文字內容。GroupDocs.Parser 提供基於範本的方法,讓您描述表格的精確佈局(欄寬、列高),使引擎即使在來源檔案尺寸或樣式不同的情況下,也能可靠地提取所需資料。

為何使用 GroupDocs.Parser 進行表格提取?

  • Accuracy: 基於佈局的範本可降低誤判。
  • Speed: 使用範本解析比通用文字提取更快。
  • Flexibility: 支援 PDF、DOCX、XLSX 以及其他多種格式,無需額外轉換器。
  • Scalability: 非常適合批次處理發票、報告與資料遷移流程。

先決條件

在深入程式碼之前,請確保您具備以下條件:

必要的函式庫與相依性

  • GroupDocs.Parser for Java(版本 25.5 或更新)
  • 已在機器上安裝 Maven
  • 基本的 Java 程式設計知識

環境設定需求

  • Java Development Kit (JDK) 8 版或以上
  • 如 IntelliJ IDEA、Eclipse 或 NetBeans 等 IDE

設定 GroupDocs.Parser for Java

要在專案中使用 GroupDocs.Parser,請將其加入相依性。操作步驟如下:

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 下載最新版本。

取得授權

GroupDocs 提供免費試用以探索其功能。若需長期使用,請考慮購買授權或取得臨時授權。

實作指南

現在已完成所有設定,讓我們深入了解如何使用 GroupDocs.Parser 定義與解析表格。

使用佈局定義範本表格

此功能允許您建立具有特定欄寬與列高的表格範本。操作步驟如下:

步驟 1:建立範本表格佈局

透過指定欄寬與列高來定義佈局。

TemplateTableLayout layout = new TemplateTableLayout(
        Arrays.asList(new Double[]{30.0, 100.0, 320.0, 400.0, 480.0, 550.0}),
        Arrays.asList(new Double[]{320.0, 345.0, 375.0}));

步驟 2:建立表格範本

使用該佈局實例化表格範本。

TemplateTable table = new TemplateTable(layout, "Details", null);

步驟 3:建立包含表格項目的範本

將您的範本編譯成單一的 Template 物件。

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

使用範本解析文件

現在已定義範本,讓我們使用它來解析文件。

步驟 1:建立 Parser 類別的實例

使用目標文件初始化 parser。

try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/SampleInvoicePdf.pdf")) {
    // Assume 'template' is already defined as in the DefineTemplateTable feature
    Template template;
    
    // Step 2: Parse the Document by Predefined Template
    DocumentData data = parser.parseByTemplate(template);

步驟 2:遍歷提取的資料項目

迴圈遍歷提取的資料,並列印每個儲存格的值。

for (int i = 0; i < data.getCount(); i++) {
    PageTableArea area = data.get(i).getPageArea() instanceof PageTableArea 
            ? (PageTableArea) data.get(i).getPageArea()
            : null;

    if (area != null) {
        for (int row = 0; row < area.getRowCount(); row++) {
            for (int column = 0; column < area.getColumnCount(); column++) {
                PageTextArea cellValue = area.getCell(row, column).getPageArea() instanceof PageTextArea
                        ? (PageTextArea) area.getCell(row, column).getPageArea()
                        : null;

                System.out.print(cellValue == null ? "" : cellValue.getText());
            }
            System.out.println();
        }
    }
}

故障排除技巧

  • Common Issues: 確認文件路徑正確且可存取。
  • Performance Considerations: 在適用時使用較小的範本以提升處理速度。

實務應用

以下是一些定義與解析表格可帶來效益的實際案例:

  1. Invoice Processing: 自動從發票提取資料,以簡化會計流程。
  2. Data Migration: 高效在不同系統或格式之間傳輸結構化資料。
  3. Reporting Tools: 直接從文件提取關鍵指標以產生報告。

效能考量

為獲得最佳效能,請考慮以下建議:

  • Optimize Table Layouts: 確保表格佈局盡可能具體,以縮短解析時間。
  • Memory Management: 處理大型文件時監控記憶體使用,以防止泄漏。
  • Batch Processing: 若需處理多個檔案,請以批次方式執行,以有效管理資源。

結論

在本教學中,您已學會 如何在 Java 中使用 GroupDocs.Parser 解析表格。這個強大的函式庫可顯著提升文件處理能力,使資料提取快速且高效。若想進一步探索 GroupDocs.Parser 的潛力,建議深入閱讀其 documentation 或嘗試不同的範本與檔案類型。

常見問題

  1. What is GroupDocs.Parser?
    它是一個用於在 Java 中從各種文件格式提取文字、元資料、影像與結構化資料的函式庫。

  2. Can I use GroupDocs.Parser with other programming languages?
    可以,它支援多種語言,包括 C#、.NET、Python、PHP 等。

  3. How do I handle large documents efficiently?
    優化表格佈局並考慮批次處理以提升效能。

  4. Is there support for non‑table data extraction?
    當然,GroupDocs.Parser 也能提取文字、影像與元資料。

  5. Where can I find more examples of using GroupDocs.Parser?
    可查看 GitHub repositorydocumentation

資源

歡迎探索這些資源,以獲取更深入的資訊與社群支援。祝開發愉快!


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