ExtractPDF4J/ExtractPDF4J

Java PDF table extraction & OCR library. Extract structured tables from text-based and scanned PDFs using stream, lattice (OpenCV-style grid detection), and hybrid parsing.

解決的問題

ExtractPDF4J 消除了從無文字層的 PDF 表格中手動重新輸入資料的需求,特別適用於掃描的發票、銀行對帳單和財務報告等文件。它提供了一種程式化方式,從文字型與圖像密集型 PDF 中提取乾淨的列與欄。

工作原理

該函式庫使用多策略方法來識別與提取表格資料:

  • StreamParser:使用 Apache PDFBox 透過文字座標從文字型 PDF 中提取資料。
  • LatticeParser:使用 OpenCV 檢測掃描或圖像型 PDF 中的線條與格線,以建構表格結構。
  • OcrStreamParser:使用 Tesseract OCR 讀取不存在文字層的文件中的文字。
  • HybridParser:協調這些策略,根據文件特性自動選擇或合併最佳方法。

適用對象

此工具專為建構生產級文件處理流程的開發者設計,特別適用於金融科技、銀行平台、分析平台、企業資料攝取工作流程,以及為 AI/ML 流程準備資料的場景。

主要特色

  • 原生 Java 支援:基於 Java 17+ 建構,可透過 Maven Central 取得。
  • OCR 集成:內建支援使用 Tesseract 與 OpenCV 的掃描 PDF。
  • 靈活解析:提供多種模式(串流、網格、OCR 混合),以應對不同類型的 PDF。
  • 部署選項:包含 CLI 用於快速提取,以及 Spring Boot 微服務用於透過 Docker 進行 REST 集成。
  • 宣告式設定:支援基於註解的設定,用於定義解析器參數。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案