PDFの中身をAIが正確に読み解く!ベンチマーク1位のオープンソースPDF解析ツール — opendataloader-pdf

opendataloader-project/opendataloader-pdfJava15.8k

opendataloader-pdfは、PDFファイルの中身(文章・表・画像・数式など)を、AIが理解しやすい形式(Markdown・JSON・HTML)に変換するオープンソースツールです。200件の実際のPDFを使ったベンチマークで総合精度1位(0.907)を記録しており、すべての要素に「どこに書いてあるか」という座標情報がつくため、AIが回答の根拠を示す用途にも最適です。スキャンされたPDFのOCR(文字読み取り)や複雑な表の解析にも対応しており、すべてパソコン上でローカルに動くため、データが外部に送られる心配がありません。さらに、PDFのアクセシビリティ(障害のある方でも読める形式への変換)を自動化する機能も2026年に公開予定で、手作業で1文書あたり数万円かかっていた作業を大幅に効率化できます。Python・Node.js・Javaの3言語から利用できます。

🔥 なぜ話題?

ChatGPTなどのAI活用が広がる中、PDFからの高精度なデータ抽出はRAG(検索拡張生成)パイプラインの最重要課題となっており、ベンチマーク1位の精度とオープンソースの組み合わせが開発者の注目を集めています。加えて、2025年6月施行の欧州アクセシビリティ法(EAA)への対応ニーズが世界的に高まっており、初のオープンソースPDF自動タグ付けツールとしても期待されています。

💡 こう使える!

例えば、社内に蓄積された数百件の研究報告書PDFをAIチャットボットで検索できるようにしたいとき、opendataloader-pdfを使えば3行のPythonコードでPDFを構造化されたMarkdownやJSONに一括変換でき、各段落や表に『何ページのどの位置にあるか』という座標情報がつくので、AIが回答したときに『この表の3行目が根拠です』と原文の場所をピンポイントで示すことができます。

ユースケース: 大量のPDF文書をAIチャットボットや検索システムで活用するために、構造を保ったまま自動変換する

  • 200件の実PDFベンチマークで総合精度1位(0.907)、表の抽出精度は0.928
  • すべての要素にページ番号と座標情報がつくので、AIの回答に「出典の場所」を紐づけられる
  • 完全ローカル動作でデータが外部に送られず、GPU不要でCPUだけで毎秒60ページ以上処理可能
  • スキャンPDFのOCR・数式のLaTeX変換・グラフの説明生成にも対応
  • PDFアクセシビリティの自動タグ付けを初めてオープンソースで実現予定(2026年Q2)
GitHubで見る →

PDF Parser for AI-ready data. Automate PDF accessibility. Open-source.

技術情報

言語

Java

ライセンス

Apache-2.0

最終更新

2026-04-10

スター数

15,822

フォーク数

1,345

Issue数

39

トピック

a11yaccessibilityaibounding-boxdocument-parsingeaahtmljsonmarkdownocrocr-recognitionpdfpdf-accessibilitypdf-converterpdf-extractionpdf-parserpdf-uaragtablestagged-pdf

技術詳細

アーキテクチャ・仕組み

opendataloader-pdfは、Javaベースの決定論的(ルールベース)ローカル処理エンジンを核としており、convert() を呼ぶたびにJVMプロセスが起動する構造です。シンプルなページはローカルで高速処理(0.02秒/ページ)し、複雑なページ(表・スキャン・数式・チャート)はAIバックエンドに自動的にルーティングする「ハイブリッドモード」を備えています。

  • 読み順解析: XY-Cut++アルゴリズムにより、多段組・サイドバー・混在レイアウトでも正しい読み順を再現
  • AIバックエンド: ハイブリッドモードでもローカルで動作し、クラウドへのデータ送信は不要
  • 画像説明生成: SmolVLM(256Mパラメータ)という軽量ビジョンモデルを使用

対応環境・プラットフォーム

  • 言語/SDK: Python 3.10+、Node.js、Java
  • 必須要件: Java 11+(JVMプロセスとして動作するため)
  • GPU: 不要(CPU のみで動作)
  • OCR対応言語: 英語、韓国語、日本語、中国語(簡体・繁体)、ドイツ語、フランス語、アラビア語など80言語以上

パフォーマンス・ベンチマーク

指標ローカルモードハイブリッドモード
処理速度0.015秒/ページ(60+ページ/秒)0.463秒/ページ
総合精度0.8310.907(1位)
表抽出精度0.4890.928
読み順精度0.9020.934

8コア以上のマシンでマルチプロセスバッチ処理すると毎秒100ページ以上のスループットを実現。ベンチマーク環境はApple M4。

出力形式

  • JSON: バウンディングボックス(座標)、要素タイプ、ページ番号などの構造化データ
  • Markdown: LLMのコンテキスト入力やRAGチャンキングに最適
  • HTML: Web表示用
  • Annotated PDF: 検出された構造を可視化したデバッグ用PDF
  • Text: プレーンテキスト

主要な機能一覧

  • テキスト抽出(正しい読み順保証)
  • 全要素にバウンディングボックス付与
  • 表抽出(罫線あり・なし両対応)
  • 見出し階層検出
  • リスト検出(番号付き・箇条書き・ネスト対応)
  • 画像抽出(座標付き)
  • OCR(スキャンPDF、80言語以上)
  • 数式のLaTeX変換
  • AIによるチャート・画像の説明文生成
  • Tagged PDF構造の読み取り
  • AIセーフティ(プロンプトインジェクション攻撃の自動フィルタリング)
  • ヘッダー・フッター・透かしのフィルタリング
  • 機密データのサニタイズ(--sanitize オプション)

AIセーフティ機能

PDFに仕込まれたプロンプトインジェクション攻撃(透明テキスト、ゼロサイズフォント、ページ外コンテンツなど)を自動検出・除去する機能を標準搭載。

連携・プラグイン

  • LangChain: langchain-opendataloader-pdf パッケージで公式統合
  • Hancom Data Loader: エンタープライズ向けAI文書解析との連携を予定(2026年Q2-Q3)

PDFアクセシビリティ対応

  • PDF Association および Dual Lab(veraPDF開発元)との共同開発
  • Well-Tagged PDF仕様に準拠し、veraPDFによる自動検証
  • パイプライン: 監査 → 自動タグ付け → Tagged PDF → PDF/UA出力
  • 自動タグ付け(Apache 2.0、無料): 2026年Q2リリース予定
  • PDF/UA出力・アクセシビリティスタジオ: エンタープライズ版

制約・注意点

  • Word/Excel/PowerPointファイルは非対応(PDFのみ)
  • convert() は呼び出しごとにJVMプロセスを起動するため、繰り返し呼び出しは非効率(バッチ処理推奨)
  • 自動タグ付け機能はまだリリースされていない(2026年Q2予定)

ライセンス

  • バージョン2.0以降: Apache License 2.0(完全に許容的、商用利用自由)
  • バージョン2.0未満: Mozilla Public License 2.0
  • MPL 2.0からApache 2.0への変更理由: ファイルレベルのコピーレフトが企業導入時の法務レビューの障壁になっていたため

インストール・クイックスタート

Python での導入(Java 11以上が必要)

# Javaがインストールされているか確認
java -version

# パッケージをインストール
pip install -U opendataloader-pdf
import opendataloader_pdf

# PDFをMarkdownとJSONに変換
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    format="markdown,json"
)

Node.js での導入

npm install @opendataloader/pdf

ハイブリッドモード(高精度・OCR対応)

pip install -U "opendataloader-pdf[hybrid]"

# ターミナル1: バックエンドサーバー起動
opendataloader-pdf-hybrid --port 5002

# ターミナル2: PDF処理
opendataloader-pdf --hybrid docling-fast file1.pdf file2.pdf folder/

過去のトレンド履歴

関連リポジトリ

PDFや画像を一瞬で構造化データに変換!100言語以上対応のAI文字認識エンジン — PaddleOCR

PaddlePaddle/PaddleOCRPython74.5k

PaddleOCRは、PDFや画像の中にある文字・表・数式・グラフなどを読み取り、MarkdownやJSON(コンピュータが扱いやすいデータ形式)に自動変換するツールです。100以上の言語に対応してお

PDF・Word・Excel・画像…なんでもMarkdownに一発変換!AI時代の万能ファイル変換ツール — markitdown

microsoft/markitdownPython109.1k

MarkItDownは、PDF、Word、Excel、PowerPoint、画像、音声、HTMLなど、さまざまな形式のファイルをMarkdown(シンプルな書式付きテキスト)に変換するPython製の

AIコーディング助手の「記憶喪失」を解決!セッションをまたいで文脈を自動保存・復元 — claude-mem

thedotmack/claude-memTypeScript56.7k

claude-memは、AIコーディングツール「Claude Code」のプラグインで、コーディングセッション中にClaudeが行ったすべての操作を自動的に記録し、AIで圧縮・要約した上で、次回のセッ

あらゆるAIモデルを束ねて社内チャット・検索・研究を全自動化するオープンソース基盤 — onyx

onyx-dot-app/onyxPython25.3k

Onyxは、ChatGPTのようなAIチャット機能を自分のサーバーに設置できるオープンソースのAIプラットフォームです。50種類以上の外部サービス(Google Drive、Slackなど)と接続し、

AIエージェントに「記憶」を与える知識エンジン — たった6行のコードで実現 — cognee

topoteretes/cogneePython14.1k

cogneeは、AIエージェント(自律的に動くAIプログラム)に「記憶」を持たせるためのオープンソースの知識エンジンです。文書やデータを取り込むと、意味による検索(ベクトル検索)と関係性による検索(グ