opendataloader-pdf

PDF 数据提取工具。当用户提到"PDF 提取"、"PDF 转 Markdown"、"PDF 解析"、"提取 PDF 内容"、"PDF 转 JSON"、"RAG PDF"时使用。OpenDataLoader PDF 是目前基准测试第一的 PDF 解析器,支持本地模式(快速、确定)和混合 AI 模式(复杂表格、扫描件、公式),输出 Markdown、JSON(带边界框)、HTML。适用于需要从 PDF 提取结构化数据用于 RAG/LLM pipeline,或需要批量处理 PDF 文档的场景。

420 stars

Best use case

opendataloader-pdf is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

PDF 数据提取工具。当用户提到"PDF 提取"、"PDF 转 Markdown"、"PDF 解析"、"提取 PDF 内容"、"PDF 转 JSON"、"RAG PDF"时使用。OpenDataLoader PDF 是目前基准测试第一的 PDF 解析器,支持本地模式(快速、确定)和混合 AI 模式(复杂表格、扫描件、公式),输出 Markdown、JSON(带边界框)、HTML。适用于需要从 PDF 提取结构化数据用于 RAG/LLM pipeline,或需要批量处理 PDF 文档的场景。

Teams using opendataloader-pdf should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/opendataloader-pdf/SKILL.md --create-dirs "https://raw.githubusercontent.com/chujianyun/skills/main/skills/opendataloader-pdf/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/opendataloader-pdf/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How opendataloader-pdf Compares

Feature / Agentopendataloader-pdfStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

PDF 数据提取工具。当用户提到"PDF 提取"、"PDF 转 Markdown"、"PDF 解析"、"提取 PDF 内容"、"PDF 转 JSON"、"RAG PDF"时使用。OpenDataLoader PDF 是目前基准测试第一的 PDF 解析器,支持本地模式(快速、确定)和混合 AI 模式(复杂表格、扫描件、公式),输出 Markdown、JSON(带边界框)、HTML。适用于需要从 PDF 提取结构化数据用于 RAG/LLM pipeline,或需要批量处理 PDF 文档的场景。

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# 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+

```bash
pip install -U opendataloader-pdf
```

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

```bash
pip install "opendataloader-pdf[hybrid]"
```

## 快速使用

### CLI(适合单文件或批量)

```bash
# 快速模式:输出 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

```python
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(带边界框)
```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.90** | **0.93** | 0.43 |
| docling | 0.86 | 0.89 | 0.73 |
| marker | 0.83 | 0.81 | 53.93 |
| mineru | 0.82 | 0.87 | 5.96 |
| pymupdf4llm | 0.57 | 0.40 | 0.09 |

## 引用信息

- PyPI:`pip install opendataloader-pdf`
- npm:`npm install @opendataloader/pdf`
- Maven:`org.opendataloader:opendataloader-pdf-core`
- GitHub:https://github.com/opendataloader-project/opendataloader-pdf
- 基准测试:https://github.com/opendataloader-project/opendataloader-bench

Related Skills

sync-skills

420
from chujianyun/skills

Skills 同步助手。将本地目录、GitHub 仓库或 skillsmp.com 页面的 skill 同步到用户选择的 AI 编码工具目录。使用 AskUserQuestion 选择目标(支持多选和自定义路径),展示同步计划后执行,同名 skill 会被覆盖。必须包含 ~/.agents/skills 作为同步目标。

skill-optimizer

420
from chujianyun/skills

优化和重构现有 skill。用于检查目标 skill 的触发描述、SKILL.md 工作流、确认门槛、渐进式披露,以及 references/scripts/assets 的组织方式。当用户提到“优化 skill”“检查 skill 质量”“改进某个 skill”“重构技能说明”,或直接说明要优化哪些方面时使用。默认先审查、再出计划、等待用户确认后再修改目标 skill。

qoder-wiki

420
from chujianyun/skills

Qoder 官方文档知识库,包含产品介绍、用户指南、功能配置、扩展能力、账户定价和故障排查。当用户询问 Qoder 相关问题(如安装、使用、功能、定价、快捷键、MCP、Skills、Quest Mode、Repo Wiki 等)时使用此 skill。

prompt-optimizer

420
from chujianyun/skills

Prompt 优化助手。适用于用户想优化提示词、改进 AI 指令、为特定任务设计更好的 prompt,或需要选择合适提示框架时使用。会根据任务场景匹配合适框架,必要时先追问关键信息,再输出更清晰、更可执行的提示词版本。

paper-interpreter

420
from chujianyun/skills

论文解读助手。适用于用户发送 arXiv 论文链接,并希望下载论文、解读论文、生成读书笔记、做论文拆解或输出详细报告时使用。会在工作目录创建论文文件夹、下载 PDF 与 TeX Source(如有)、生成中文 Markdown 报告。默认先交付初稿,不自动复查;如果用户明确同意,再安排后续复查。不适用于只要简短推荐语的情况。

openclaw-wiki

420
from chujianyun/skills

OpenClaw 官方文档知识库。适用于用户询问 OpenClaw 相关问题,如安装、配置、Gateway、WhatsApp/Telegram/Discord 等渠道连接、Sessions、Tools、Skills、Pi Agent、CLI、故障排查等场景。默认先查本地文档,文档不足时再考虑联网补充。

openclaw-session-cleaner

420
from chujianyun/skills

OpenClaw session 清理助手。用于用户提到清理 OpenClaw sessions、删除旧 cron session、压缩或重建 sessions.json、排查 session 文件膨胀时使用。触发后优先检查 ~/.openclaw/agents/main/sessions/ 下的 session 文件数量和 sessions.json 大小,并按指令执行清理。

openclaw-ops

420
from chujianyun/skills

OpenClaw 运维助手。用于用户提到 OpenClaw、小龙虾、gateway、渠道连接、消息发送失败、服务不可达、日志排查、渠道或 Agent 管理时使用。优先执行状态检查与故障分流;涉及重启、修复、更新、配置变更等高影响操作时,先向用户说明再执行。

mermaid

420
from chujianyun/skills

Mermaid 图绘制助手。适用于用户明确要求绘制 Mermaid 图,或提到流程图、架构图、时序图、状态图、甘特图、ER 图、用户旅程图、类图,并希望直接输出 Mermaid 代码块时使用。会先判断最合适的图类型,再生成可渲染、结构清晰的 Mermaid 代码,并在必要时附上简短说明或迭代建议。不适用于追求高保真视觉设计稿的场景。

github-code-interpreter

420
from chujianyun/skills

GitHub 源码解读助手。适用于用户提供 GitHub 仓库链接,并希望解读源码、理解原理、分析架构、生成学习报告或快速上手文档时使用。会在 working 目录下生成源码解读和快速上手两份文档。默认先交付初稿,不自动复查;如果用户明确同意,再安排后续复查。不适用于仅克隆仓库或只要一句简介的场景。

copaw-ops

420
from chujianyun/skills

CoPaw 运维助手。用于用户提到 copaw 运维、服务无响应、渠道断连、MCP 失败、模型调用失败、cron 不执行、Docker 部署、重载、重启或重置恢复时使用。优先执行状态检查与故障分流;涉及重启、重载、重置、配置修改等高影响动作时,先向用户说明再执行。

claudian-installer

420
from chujianyun/skills

Claudian 安装助手。适用于用户想在 Obsidian 仓库中安装 Claudian 插件,或提到“Claudian”“Claude Code in Obsidian”“install Claudian plugin”时使用。会把插件文件复制到目标 vault 并引导用户启用插件。