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: PDFBox を使ってテキスト位置に基づいてテキストベースの PDF からデータを抽出します。
  • LatticeParser: ページを画像にレンダリングし、OpenCV を使って線やグリッドを検出することで、スキャンされたまたは罫線のある PDF を処理します。
  • OcrStreamParser: テキストレイヤーが存在しない画像中心のドキュメントから、Tesseract OCR を使ってテキストを抽出します。
  • HybridParser: これらの戦略を調整し、ドキュメントに最適な方法を自動的に選択します。

対象ユーザー

金融テック、銀行プラットフォーム、分析プラットフォーム、AI/ML データ準備ワークフローを構築する開発者向けに設計されています。本番環境で稼働するドキュメント処理パイプラインを構築する開発者に最適です。

特徴

  • ネイティブ OCR サポート: 外部のテキストレイヤーなしで、スキャン済みおよび画像ベースの PDF を処理できます。
  • Java ネイティブ: Java 17+ で構築され、Maven Central から利用可能です。
  • 柔軟な出力: 抽出されたテーブルを CSV または JSON 形式でエクスポートできます。
  • 宣言型設定: アノテーションベースの設定により、パーサーの設定を定義できます。
  • デプロイ準備完了: Spring Boot マイクロサービスラッパーと Docker 対応を備えており、API のデプロイを簡単に実現できます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト