PDFをAIに読ませたい。RAGパイプラインを組みたい。でも既存ツールはGPUが必要だったり、テーブルの精度が低かったり、読み順がぐちゃぐちゃだったり。
OpenDataLoader PDFは、そんなPDF→構造化データ変換の課題をまとめて解決するオープンソースのPDFパーサーです。ベンチマーク総合スコア0.907で1位を獲得し、GPUなしのCPUだけで動作します。
この記事でわかること:
- OpenDataLoader PDFの主な機能と他ツールとの違い
- ハイブリッドモードの仕組みと精度
- 導入方法と実際の使い方
OpenDataLoader PDFとは
韓国のHancom社が開発するオープンソース(Apache 2.0)のPDFパーサーです。PDFをMarkdown・JSON・HTMLに変換し、RAGやLLMで扱いやすい構造化データを出力します。
GitHubスター数は約17,000。PDF Associationのメンバー企業であるHancomが主導しており、アクセシビリティ標準(PDF/UA)への対応も進めています。
技術スタックはJava(85.6%)がメインで、Python・Node.js・JavaのSDKを提供します。動作要件はJava 11以上、Python 3.10以上です。
他のPDFパーサーと何が違うのか
PDFパーサーの選択肢は増えていますが、OpenDataLoader PDFには明確な差別化ポイントがあります。
ベンチマーク比較
200件の実文書コーパスで評価した結果は以下のとおりです(ハイブリッドモード使用時)。
| ツール | 総合スコア | テーブル精度 | 読み順精度 | 処理速度(秒/ページ) |
|---|---|---|---|---|
| OpenDataLoader | 0.907 | 0.928 | 0.934 | 0.463 |
| Docling | 0.882 | — | — | — |
| Marker | 0.861 | — | — | 53.932 |
| pymupdf4llm | 0.732 | 0.401 | — | — |
Markerは処理に53秒/ページかかりGPUが必要です。pymupdf4llmは高速ですがテーブル精度が低い。OpenDataLoader PDFはGPUなしで高精度と実用的な速度を両立しています。
ヒューリスティックモード(AI不使用)でも読み順精度0.91、処理速度0.05秒/ページ(約1,200ページ/分)を実現します。
なお、ベンチマークはHancomの内部テストに基づく自己申告値です。ただし、データセットと再現コードはGitHubで公開されており、独立した検証が可能です。
機能面の優位性
- バウンディングボックス :すべての要素に座標(x1, y1, x2, y2)を付与。ソース引用やハイライト表示に活用できる
- XY-Cut++ :独自のレイアウト解析アルゴリズムで多段組みの読み順を正確に判定する
- プロンプトインジェクション対策 :AIセーフティフィルターを内蔵。PDFに埋め込まれた悪意あるプロンプトを検出する
- 完全ローカル実行 :APIコールなし。ドキュメントが外部に送信されない
主な機能
テキスト抽出と構造認識
PDFのテキストを正確な読み順で抽出します。見出し階層も自動で認識し、H1〜H6のレベルを割り当てます。出力はMarkdown・JSON・HTMLから選択可能です。
JSON出力には要素タイプ、ID、ページ番号、バウンディングボックス、フォント情報、コンテンツが含まれます。RAGパイプラインでチャンク分割やソース引用を実装する際に役立ちます。
テーブル抽出
罫線のないテーブルや結合セルにも対応します。ハイブリッドモードではテーブル抽出精度93%を達成しています。
OCR
スキャンされたPDFにも対応し、80以上の言語を認識します。
数式・チャート
数式をLaTeX形式で抽出します。チャートや図表は自然言語による説明テキストに変換します。
ハイブリッドモードの仕組み
OpenDataLoader PDFの最大の特徴がハイブリッドモードです。ローカルのルールベース処理とAIバックエンドを自動で使い分けます。
- まずローカルのJavaエンジンがページを解析する
- シンプルなページはそのまま処理(0.02秒/ページ)
- 複雑なページ(テーブル、スキャン画像、数式、チャート)はAIバックエンドにルーティング
この仕組みにより、大量のPDFを処理する場合でもAPIコストを抑えつつ、難しいページだけ高精度で処理します。
導入と基本的な使い方
インストール
pip install -U opendataloader-pdf
Java 11以上が必要です。
基本的な変換
import opendataloader_pdf
opendataloader_pdf.convert(
input_path=["file1.pdf"],
output_dir="output/",
format="markdown,json"
)
3行で変換が完了します。
LangChain連携
LangChain用のローダーも公式で提供されています。
pip install langchain-opendataloader-pdf
RAGパイプラインに直接組み込めます。
Node.js SDK
npm install @opendataloader/pdf
Python以外の環境でも利用可能です。
料金
コアライブラリはApache 2.0ライセンスで完全無料です。商用利用にも制限はありません。
以下の機能が無料で提供されます:
- テキスト・テーブル・見出しの抽出
- バウンディングボックス付きJSON出力
- OCR、数式抽出、チャート解析(AIアドオン、無料)
- 自動タグ付け(2026年Q2予定、Apache 2.0)
エンタープライズ向けには以下の有料機能が計画されています:
- PDF/UA-1/UA-2準拠エクスポート
- ビジュアル編集スタジオ
- Hancom独自のドキュメントAI技術を活用した商用AIアドオン
アクセシビリティへの取り組み
PDF AssociationおよびDual Lab(veraPDF開発者)と連携し、PDFアクセシビリティの自動化を推進しています。
ロードマップは段階的です:
- 既存タグの監査(無料)
- AIベースの自動タグ付け(2026年Q2、Apache 2.0で公開予定)
- PDF/UA準拠エクスポート(エンタープライズ)
- ビジュアル編集スタジオ(エンタープライズ)
オープンソースとしてPDF向けAI生成アクセシビリティタグを実装する初のツールとなる見込みです。EAA(欧州アクセシビリティ法)やADA/Section 508への対応を目指しています。
まとめ
OpenDataLoader PDFは「GPUなし・高精度・オープンソース」の三拍子が揃ったPDFパーサーです。
RAGパイプラインにPDFを組み込みたいなら、まずヒューリスティックモードで試し、精度が足りなければハイブリッドモードに切り替える。この段階的なアプローチが取れるのも強みです。
ベンチマーク1位という数値だけでなく、バウンディングボックス付き出力、プロンプトインジェクション対策、完全ローカル実行といった実用面でも他ツールとの差が明確です。