mcpField
O
opendataloader-pdf

opendataloader-pdf

github.com/chujianyunドキュメント747128 回インストール2 週間前に更新
リポジトリ

opendataloader-pdf について

OpenDataLoader PDF は、PDF を構造化データに変換するパーサーで、RAG や LLM のワークフロー向けの抽出に使えます。Markdown、JSON、HTML を出力し、JSON にはバウンディングボックス座標を含められます。複雑なページにはハイブリッド AI モードを利用できます。

主な機能

  1. 01Markdown、JSON、HTML の抽出
  2. 02JSON 要素へのバウンディングボックス付与
  3. 03XY-Cut++ による読み取り順の処理
  4. 04複雑なページ向けのハイブリッドモード
  5. 05CLI と Python API

活用シーン

  1. 01PDF の内容を一括抽出して RAG に利用
  2. 02座標から内容のページ位置を追跡
  3. 03複雑な表、スキャン文書、数式文書の解析
  4. 04後続処理向けに構造を保った HTML を生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/chujianyun/skills --skill opendataloader-pdf

インストール後、Claude Code で/opendataloader-pdfを入力して読み込まれたか確認します。

詳細

プロジェクトの README より

OpenDataLoader PDF

PDF 解析器 · 基准测试第一 · RAG/LLM 数据提取利器

功能定位

  • 核心能力:从任意 PDF 提取结构化数据(Markdown、JSON、HTML),带边界框坐标
  • 技术亮点:XY-Cut++ 读取顺序、Bounding Box 定位、AI 混合模式处理复杂页面
  • 基准成绩:综合 0.90(第一),表格 0.93,读取顺序 0.94(对标 Docling、Marker、MinerU 等)
  • 许可证:Apache 2.0(核心功能免费)

适用场景

  • 批量提取 PDF 为 Markdown / JSON / HTML 用于 RAG 或 LLM 训练
  • 需要边界框坐标做源码溯源(哪个段落来自 PDF 第几页哪个位置)
  • 复杂表格、扫描件、含公式的学术 PDF
  • PDF 无障碍化(Tagged PDF 生成,Q2 2026 免费开放)

安装

前提
  • Java 11+
  • Python 3.10+
pip install -U opendataloader-pdf

混合 AI 模式(复杂表格 / OCR / 公式):

pip install "opendataloader-pdf[hybrid]"

快速使用

CLI(适合单文件或批量)
# 快速模式:输出 Markdown + JSON
opendataloader-pdf input.pdf output_dir/

# 指定格式
opendataloader-pdf input.pdf output_dir/ --format markdown,json,html

# 混合 AI 模式(复杂表格 / 扫描件)
opendataloader-pdf --hybrid docling-fast input.pdf output_dir/

# 混合模式 + OCR(扫描件)
opendataloader-pdf --hybrid docling-fast --force-ocr input.pdf output_dir/

# 混合模式 + 公式识别
opendataloader-pdf --hybrid docling-fast --hybrid-mode full input.pdf output_dir/
Python API
import opendataloader_pdf

# 批量处理(一次调用会启动 JVM,建议批量一次性传入)
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    format="markdown,json"
)

模式选择指南

文档类型模式命令
标准数字 PDF快速(默认)opendataloader-pdf file.pdf out/
复杂/无线框表格混合opendataloader-pdf --hybrid docling-fast file.pdf out/
扫描件混合 + OCR同上 + --force-ocr
非英语扫描件混合 + OCR--force-ocr --ocr-lang "ko,en"
含数学公式混合 + 公式--hybrid docling-fast --hybrid-mode full
图表需要描述混合 + 图片描述--enrich-picture-description --hybrid-mode full

输出格式说明

Markdown

保留标题层级、表格结构、列表嵌套,适合直接用于 chunking。

JSON(带边界框)
{
  "pages": [{
    "page_number": 1,
    "elements": [{
      "type": "heading",
      "text": "...",
      "bbox": [x0, y0, x1, y1],
      "level": 1
    }, {
      "type": "table",
      "bbox": [x0, y0, x1, y1],
      "html": "..."
    }]
  }]
}

每个元素都有 bbox 坐标,方便做源码溯源。

HTML

保留布局结构,适合渲染或进一步处理。

Gotchas

  • 每次 convert() 调用会启动一个新的 JVM 进程,所以批量文件建议一次传入,而不是循环多次调用
  • 混合模式需要在后台启动服务器:opendataloader-pdf-hybrid --port 5002,然后客户端加 --hybrid docling-fast
  • --enrich-formula 或 --enrich-picture-description 必须在混合服务器和客户端都加 --hybrid-mode full,否则强化功能静默跳过
  • Java 选项修改后必须运行 npm run sync,它会重新生成 options.json 和所有 Python/Node.js 绑定

与其他工具的对比

引擎综合分表格速度(秒/页)
opendataloader(混合)0.900.930.43
docling0.860.890.73
marker0.830.8153.93
mineru0.820.875.96
pymupdf4llm0.570.400.09

引用信息

コメント