opendataloader-pdf

GitHub
16.6k 1.4k 简单 1 次阅读 今天Apache-2.0图像Agent开发框架
AI 解读 由 AI 自动生成,仅供参考

opendataloader-pdf 是一款专为人工智能应用打造的开源 PDF 解析工具,旨在将各类 PDF 文件(包括数字版、扫描件及已标记文件)高效转化为机器可读的结构化数据。它主要解决了大语言模型(LLM)和检索增强生成(RAG) pipeline 中非结构化文档难以处理的问题,同时自动化了繁琐的 PDF 无障碍合规流程,大幅降低了手动修复文档的成本。

这款工具非常适合开发者、数据科学家及研究人员使用,尤其是那些需要构建高质量知识库或关注信息无障碍的专业人士。其核心亮点在于卓越的提取精度:在权威基准测试中整体准确率排名第一,不仅能精准识别复杂表格、数学公式和图表,还内置支持 80 多种语言的 OCR 功能以应对低质量扫描件。opendataloader-pdf 提供确定性本地模式与混合 AI 模式,可输出带有坐标信息的 JSON、Markdown 及 HTML,完美适配数据分块与来源溯源需求。此外,它还是首个端到端开源的自动标记工具,能直接将普通 PDF 转换为符合国际标准的 Tagged PDF,助力企业轻松满足全球无障碍法规要求。支持 Python、Node.js 和 Java 多种开发语言,集成简便且完全开源。

使用场景

某金融科技公司正构建基于大模型的智能投研系统,需要将数千份包含复杂表格和双栏排版的上市公司年报 PDF 转化为高质量的 RAG(检索增强生成)数据。

没有 opendataloader-pdf 时

  • 数据结构混乱:传统解析器无法识别多栏排版逻辑,导致跨栏文字顺序错乱,LLM 生成的摘要经常张冠李戴。
  • 关键信息丢失:财报中的无边框表格和数学公式被还原为纯文本,行列关系彻底断裂,模型无法进行准确的数据分析。
  • 人工成本高昂:处理扫描版旧文档需单独配置 OCR 流程,且后期需人工花费数小时校对和修复格式错误。
  • 溯源困难:缺乏元素级的坐标定位数据,当模型回答出错时,开发人员无法快速回溯到原始 PDF 的具体位置进行验证。

使用 opendataloader-pdf 后

  • 阅读顺序精准:利用 XY-Cut++ 算法自动识别双栏与复杂布局,输出的 Markdown 段落逻辑清晰,直接提升 RAG 检索命中率。
  • 复杂元素结构化:混合模式(Hybrid Mode)完美还原无边框表格结构与 LaTeX 公式,甚至能为图表生成 AI 描述,确保数据完整性。
  • 流程自动化闭环:内置支持 80+ 语言的 OCR 功能,一行代码即可处理低质量扫描件,将单页处理时间压缩至 0.015 秒。
  • 精确溯源引用:输出的 JSON 包含每个元素的边界框(Bounding Boxes),让系统能精准高亮原文依据,大幅增强回答的可信度。

opendataloader-pdf 通过业界领先的解析精度和端到端的自动化能力,将非结构化 PDF 瞬间转化为大模型可直接理解的高质量数据资产。

运行环境要求

操作系统
  • 未说明 (支持 Python/Node.js/Java 跨平台环境)
GPU

非必需 (GPU required: No)

内存

未说明

依赖
notes核心运行依赖 Java 11+ 环境,每次转换调用会启动一个 JVM 进程,因此建议批量处理文件以避免重复启动开销。混合模式(Hybrid Mode)用于处理复杂表格、扫描件或公式,需额外安装并启动后端服务。自动标签功能(Auto-tagging)预计于 2026 年第二季度发布。
python3.10+
Java 11+
opendataloader-pdf hero image

快速开始

OpenDataLoader PDF

面向 AI 的 PDF 解析器。自动化 PDF 无障碍功能。开源。

许可证 PyPI 版本 npm 版本 Maven Central Java

opendataloader-project%2Fopendataloader-pdf | Trendshift

🔍 用于 AI 数据提取的 PDF 解析器 — 从任何 PDF 中提取 Markdown、JSON(带边界框)和 HTML。基准测试排名第一(总体 0.907)。具有确定性的本地模式以及适用于复杂页面的混合 AI 模式。

  • 准确度如何? — 基准测试排名第一:总体准确率为 0.907,表格准确率为 0.928,测试对象涵盖 200 个真实场景中的多栏文档和科技论文。提供确定性的本地模式以及适用于复杂页面的混合 AI 模式(基准测试
  • 扫描版 PDF 和 OCR 呢? — 支持。混合模式内置 OCR 功能(支持 80 多种语言)。即使在 300 DPI 及以上分辨率下,也能处理质量较差的扫描件(混合模式
  • 表格、公式、图片、图表呢? — 支持。复杂的无边框表格、LaTeX 公式以及由 AI 生成的图片/图表描述均可通过混合模式实现(混合模式
  • 如何将其用于 RAG? — 使用 pip install opendataloader-pdf,只需三行代码即可完成转换。输出结构化的 Markdown 以供分块处理,带有边界框的 JSON 用于来源引用,以及 HTML。支持 LangChain 集成。提供 Python、Node.js 和 Java SDK(快速入门 | LangChain 集成

PDF 无障碍自动化 — 同样的布局分析引擎也可用于自动标记。首个开源工具,可端到端生成 Tagged PDF(预计于 2026 年第二季度推出)。

  • 问题是什么? — 目前全球范围内均已强制执行无障碍法规。手动修复 PDF 每份需花费 50 至 200 美元,且无法规模化(法规
  • 免费部分是什么? — 布局分析 + 自动标记(2026 年第二季度,Apache 2.0 许可证)。输入未标记的 PDF,输出 Tagged PDF。无需依赖专有 SDK(自动标记预览
  • PDF/UA 合规呢? — 将 Tagged PDF 转换为 PDF/UA-1 或 PDF/UA-2 属于企业级附加功能。自动标记生成 Tagged PDF;PDF/UA 导出则是最后一步(流程
  • 为何值得信赖? — 本项目与 Dual LabveraPDF 的开发者)合作开发,基于 PDF 协会 的规范、最佳实践指南以及 PDF 社区 的专业知识。自动标记遵循 Well-Tagged PDF 规范,并通过 veraPDF 验证(合作

30 秒快速入门

所需条件: Java 11+ 和 Python 3.10+(Node.js | Java 亦可用)

在开始之前,请运行 java -version。若未找到,请从 Adoptium 安装 JDK 11+。

pip install -U opendataloader-pdf
import opendataloader_pdf

# 批量处理所有文件只需一次调用 — 每次调用 convert() 都会启动一个 JVM 进程,因此重复调用效率较低
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    format="markdown,json"
)

OpenDataLoader PDF 布局分析 — 检测到标题、表格、图片,并用边界框标注

带注释的 PDF 输出 — 每个元素(标题、段落、表格、图片)均被检测到,并附有边界框及语义类型。

本工具能解决哪些问题?

问题 解决方案 状态
解析过程中 PDF 结构丢失 — 阅读顺序错误、表格损坏、缺少元素坐标 确定性的本地模式可将 PDF 转换为带边界框的 Markdown/JSON,并采用 XY-Cut++ 阅读顺序 已发布
复杂表格、扫描版 PDF、公式、图表 需要 AI 级别的理解 混合模式会将复杂页面路由至 AI 后端(基准测试排名第一) 已发布
PDF 无障碍合规 — EAA、ADA、第 508 条款已被强制执行。手动修复每份文档需花费 50–200 美元 自动标记:布局分析 → Tagged PDF(免费,2026 年第二季度)。与 PDF 协会合作开发,并通过 veraPDF 验证。PDF/UA 导出(企业级附加功能) 自动标记:2026 年第二季度

功能矩阵

功能 支持情况 等级
数据提取
提取具有正确阅读顺序的文本 免费
为每个元素提供边界框 免费
表格提取(简单边框) 免费
表格提取(复杂/无边框) 免费(混合模式)
标题层级检测 免费
列表检测(编号、项目符号、嵌套列表) 免费
带坐标信息的图像提取 免费
AI图表/图像描述 免费(混合模式)
扫描PDF的OCR 免费(混合模式)
公式提取(LaTeX) 免费(混合模式)
标签化PDF结构提取 免费
AI安全(提示注入过滤) 免费
页眉/页脚/水印过滤 免费
可访问性
自动标签→为未标记PDF生成标签化PDF 预计2026年第二季度推出 免费(Apache 2.0)
PDF/UA-1、PDF/UA-2导出 💼 可用 企业版
可访问性工作室(可视化编辑器) 💼 可用 企业版
限制
处理Word/Excel/PPT文件
是否需要GPU

提取基准测试

opendataloader-pdf [混合模式]在阅读顺序、表格和标题提取准确度方面综合排名第一(0.907分)。

引擎 综合得分 阅读顺序 表格 标题 速度(秒/页)
opendataloader [混合模式] 0.907 0.934 0.928 0.821 0.463
docling 0.882 0.898 0.887 0.824 0.762
nutrient 0.880 0.924 0.662 0.811 0.230
marker 0.861 0.890 0.808 0.796 53.932
unstructured [hi_res] 0.841 0.904 0.588 0.749 3.008
edgeparse 0.837 0.894 0.717 0.706 0.036
opendataloader 0.831 0.902 0.489 0.739 0.015
mineru 0.831 0.857 0.873 0.743 5.962
pymupdf4llm 0.732 0.885 0.401 0.412 0.091
unstructured 0.686 0.882 0.000 0.388 0.077
markitdown 0.589 0.844 0.273 0.000 0.114
liteparse 0.576 0.866 0.000 0.000 1.061

分数已归一化至[0, 1]。准确度越高越好;速度越低越好。加粗表示最佳。完整基准测试详情

基准测试

质量分解图

我应该使用哪种模式?

您的文档 模式 安装 服务器命令 客户端命令
标准数字PDF 快速(默认) pip install opendataloader-pdf 无需额外操作 opendataloader-pdf file1.pdf file2.pdf folder/
复杂或嵌套表格 混合模式 pip install "opendataloader-pdf[hybrid]" opendataloader-pdf-hybrid --port 5002 opendataloader-pdf --hybrid docling-fast file1.pdf file2.pdf folder/
扫描或基于图像的PDF 混合模式+OCR pip install "opendataloader-pdf[hybrid]" opendataloader-pdf-hybrid --port 5002 --force-ocr opendataloader-pdf --hybrid docling-fast file1.pdf file2.pdf folder/
非英语扫描PDF 混合模式+OCR pip install "opendataloader-pdf[hybrid]" opendataloader-pdf-hybrid --port 5002 --force-ocr --ocr-lang "ko,en" opendataloader-pdf --hybrid docling-fast file1.pdf file2.pdf folder/
数学公式 混合模式+公式 pip install "opendataloader-pdf[hybrid]" opendataloader-pdf-hybrid --enrich-formula opendataloader-pdf --hybrid docling-fast --hybrid-mode full file1.pdf file2.pdf folder/
需要描述的图表 混合模式+图片 pip install "opendataloader-pdf[hybrid]" opendataloader-pdf-hybrid --enrich-picture-description opendataloader-pdf --hybrid docling-fast --hybrid-mode full file1.pdf file2.pdf folder/
未标记且需提升可访问性的PDF 自动标签→生成标签化PDF 预计2026年第二季度推出

快速入门

Python

pip install -U opendataloader-pdf
import opendataloader_pdf

# 批量处理所有文件只需一次调用——每次convert()都会启动一个JVM进程,因此重复调用会很慢
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    format="markdown,json"
)

Node.js

npm install @opendataloader/pdf
import { convert } from '@opendataloader/pdf';

await convert(['file1.pdf', 'file2.pdf', 'folder/'], {
  outputDir: 'output/',
  format: 'markdown,json'
});

Java

<dependency>
  <groupId>org.opendataloader</groupId>
  <artifactId>opendataloader-pdf-core</artifactId>
</dependency>

Python快速入门 | Node.js快速入门 | Java快速入门

混合模式:复杂PDF提取准确度第一

混合模式结合了快速的本地Java处理与AI后端。简单页面保留在本地处理(0.02秒);复杂页面则路由到AI以实现超过90%的表格提取准确度。

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

终端1——启动后端服务器:

opendataloader-pdf-hybrid --port 5002

终端2——处理PDF文件:

# 批量处理所有文件只需一次调用——每次调用都会启动一个JVM进程,因此重复调用会很慢
opendataloader-pdf --hybrid docling-fast file1.pdf file2.pdf folder/

Python:

# 批量处理所有文件只需一次调用——每次convert()都会启动一个JVM进程,因此重复调用会很慢
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    hybrid="docling-fast"
)

扫描PDF的OCR

对于没有可选文本的基于图像的PDF,请使用--force-ocr选项启动后端:

opendataloader-pdf-hybrid --port 5002 --force-ocr

对于非英语文档,需指定语言:

opendataloader-pdf-hybrid --port 5002 --force-ocr --ocr-lang "ko,en"

支持的语言包括:英语、韩语、日语、简体中文、繁体中文、德语、法语、阿拉伯语等。

公式提取(LaTeX)

从科学PDF中提取数学公式并以LaTeX格式输出:

# 服务器端启用公式增强功能
opendataloader-pdf-hybrid --enrich-formula

# 一次性批量处理所有文件 — 每次调用都会启动一个 JVM 进程,因此重复调用会很慢
opendataloader-pdf --hybrid docling-fast --hybrid-mode full file1.pdf file2.pdf folder/

输出为 JSON 格式:

{
  "type": "formula",
  "page number": 1,
  "bounding box": [226.2, 144.7, 377.1, 168.7],
  "content": "\\frac{f(x+h) - f(x)}{h}"
}

注意:公式和图片描述增强功能需要在客户端使用 --hybrid-mode full

图表与图片描述

为图表和图片生成 AI 描述 — 对 RAG 搜索和辅助性替代文本非常有用:

# 服务器端
opendataloader-pdf-hybrid --enrich-picture-description

# 一次性批量处理所有文件 — 每次调用都会启动一个 JVM 进程,因此重复调用会很慢
opendataloader-pdf --hybrid docling-fast --hybrid-mode full file1.pdf file2.pdf folder/

输出为 JSON 格式:

{
  "type": "picture",
  "page number": 1,
  "bounding box": [72.0, 400.0, 540.0, 650.0],
  "description": "一个条形图,显示从 2016 年到 2030 年各地区的废弃物产生情况……"
}

使用 SmolVLM(256M),这是一种轻量级视觉模型。可通过 --picture-description-prompt 支持自定义提示。

Hancom 数据加载器集成 — 即将推出

通过 Hancom 数据加载器 实现企业级 AI 文档分析 — 客户可基于其领域特定文档训练自定义模型。支持 30 多种元素类型(表格、图表、公式、标题、脚注等),基于 VLM 的图像/图表理解,复杂表格提取(合并单元格、嵌套表格),针对扫描文档的 SLA 保障 OCR,以及原生 HWP/HWPX 支持。支持 PDF、DOCX、XLSX、PPTX、HWP、PNG、JPG 等格式。在线演示

混合模式指南

输出格式

格式 使用场景
JSON 带有边界框和语义类型的结构化数据
Markdown 用于 LLM 上下文和 RAG 分块的纯文本
HTML 带样式的网页展示
带标注的 PDF 可视化调试 — 查看检测到的结构(示例)
文本 纯文本提取

组合格式:format="json,markdown"

JSON 输出示例

{
  "type": "heading",
  "id": 42,
  "level": "Title",
  "page number": 1,
  "bounding box": [72.0, 700.0, 540.0, 730.0],
  "heading level": 1,
  "font": "Helvetica-Bold",
  "font size": 24.0,
  "text color": "[0.0]",
  "content": "引言"
}
字段 描述
type 元素类型:标题、段落、表格、列表、图片、标题、公式
id 用于交叉引用的唯一标识符
page number 以 1 为起始的页码参考
bounding box [left, bottom, right, top],单位为 PDF 点(72pt = 1 英寸)
heading level 标题深度(1+)
content 提取的文本

完整 JSON 模式

高级功能

标记 PDF 支持

当 PDF 包含结构标记时,OpenDataLoader 会提取作者原本设计的 精确布局 — 不需猜测或启发式方法。标题、列表、表格和阅读顺序都将保留自源文件。

# 一次性批量处理所有文件 — 每次 convert() 调用都会启动一个 JVM 进程,因此重复调用会很慢
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    use_struct_tree=True           # 使用原生 PDF 结构标记
)

大多数 PDF 解析器完全忽略结构标记。了解更多

AI 安全:提示注入防护

PDF 文件可能包含隐藏的提示注入攻击。OpenDataLoader 会自动过滤:

  • 隐藏文本(透明字体、零尺寸字体)
  • 页面外内容
  • 可疑的不可见图层

若要对敏感数据进行脱敏处理(如电子邮件、URL、电话号码 → 替换为占位符),请显式启用:

# 一次性批量处理所有文件 — 每次调用都会启动一个 JVM 进程,因此重复调用会很慢
opendataloader-pdf file1.pdf file2.pdf folder/ --sanitize

AI 安全指南

LangChain 集成

pip install -U langchain-opendataloader-pdf
from langchain_opendataloader_pdf import OpenDataLoaderPDFLoader

loader = OpenDataLoaderPDFLoader(
    file_path=["file1.pdf", "file2.pdf", "folder/"],
    format="text"
)
documents = loader.load()

LangChain 文档 | GitHub | PyPI

高级选项

# 一次性批量处理所有文件 — 每次 convert() 调用都会启动一个 JVM 进程,因此重复调用会很慢
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    format="json,markdown,pdf",
    image_output="embedded",        // "off"、"embedded"(Base64)或 "external"(默认)
    image_format="jpeg",            // "png" 或 "jpeg"
    use_struct_tree=True,           // 使用原生 PDF 结构
)

完整 CLI 选项参考

PDF 无障碍访问与 PDF/UA 转换

问题:数百万现有 PDF 文件缺乏结构标记,无法满足无障碍法规(EAA、ADA/第 508 条、韩国数字包容法)。手动修复每份文档的成本为 50–200 美元,且难以规模化。

OpenDataLoader 的解决方案:与 PDF AssociationDual LabveraPDF 的开发者,行业标准的开源 PDF/A 和 PDF/UA 验证工具)合作开发。自动标记遵循 Well-Tagged PDF 规范,并通过 veraPDF 进行程序化验证 — 自动检查 PDF 无障碍标准,而非人工审核。目前尚无任何开源工具能够端到端生成标记 PDF — 大多数依赖专有 SDK 完成标记写入步骤。而 OpenDataLoader 则在 Apache 2.0 许可下实现了全流程。(合作详情

法规 截止日期 要求
欧洲无障碍法案 (EAA) 2025 年 6 月 28 日 欧盟范围内可访问的数字产品
ADA 与第 508 条 已生效 美国联邦机构和公共场所
数字包容法 已生效 韩国数字服务的可访问性

標準與驗證

方面 詳細
規範 PDF協會的良好標記的PDF
驗證 veraPDF — 行業標準的開源PDF/A及PDF/UA驗證工具
合作 PDF協會 + Dual Lab(veraPDF開發者)共同開發標記與驗證功能
許可證 自動標記 → 標記PDF:Apache 2.0(免費)。PDF/UA匯出:企業版

可訪問性流程

步驟 功能 狀態 等級
1. 審計 讀取現有PDF標記,檢測未標記的PDF 已推出 免費
2. 自動標記 → 標記PDF 為未標記的PDF生成結構標記 2026年第二季即將推出 免費(Apache 2.0)
3. 匯出PDF/UA 轉換為符合PDF/UA-1或PDF/UA-2標準的檔案 💼 可用 企業版
4. 視覺編輯 可訪問性工作室 — 審查並修復標記 💼 可用 企業版

💼 企業版功能 可根據需求提供。請聯絡我們 (聯繫我們) 開始使用。

自動標記預覽(2026年第二季即將推出)

# API形狀預覽 — 2026年第二季可用
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    auto_tag=True                   # 為未標記的PDF生成結構標記
)

端到端合規工作流程

現有PDF(未標記)
    │
    ▼
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│  1. 審計       │───>│  2. 自動標記    │───>│  3. 匯出       │───>│  4. 工作室       │
│  (檢查標記)   │    │  (→ 標記PDF) │    │  (PDF/UA)        │    │  (視覺編輯器) │
└─────────────────┘    └─────────────────┘    └─────────────────┘    └─────────────────┘
        │                      │                      │                      │
        ▼                      ▼                      ▼                      ▼
  use_struct_tree         auto_tag              PDF/UA匯出       可訪問性工作室
  (現已可用)    (2026年第二季,Apache 2.0)    (企業版)          (企業版)

PDF可訪問性指南

路線圖

功能 時程 等級
自動標記 → 標記PDF — 從未標記的PDF生成標記PDF 2026年第二季 免費
Hancom資料加載器 — 企業級AI文檔分析、客戶自定義模型、基於VLM的圖表/影像理解、生產級OCR 2026年第二至第三季 計劃中
結構驗證 — 驗證PDF標記樹 2026年第二季 計劃中

完整路線圖

常見問題

對於RAG來說,最好的PDF解析器是什麼?

對於RAG管道,你需要一個能保留文檔結構、維持正確閱讀順序,並提供元素坐標以供引用的解析器。OpenDataLoader正是為此設計——它輸出帶有邊界框的結構化JSON,能處理多欄佈局並採用XY-Cut++技術,且可在本地運行而無需GPU。在混合模式下,它在基準測試中總體排名第一(0.907)。

最佳的開源PDF解析器是什麼?

OpenDataLoader PDF是唯一結合以下特點的開源解析器:基於規則的確定性提取(無需GPU)、每個元素的邊界框、XY-Cut++閱讀順序、內建AI安全過濾器、原生標記PDF支持,以及用於複雜文檔的混合AI模式。它在整體準確率上排名第一(0.907),同時可在CPU上本地運行。

如何從PDF中提取表格以供LLM使用?

OpenDataLoader通過邊界分析和文本聚類來檢測表格,並保持行/列結構。對於複雜表格,啟用混合模式可將準確率提升超過90%(TEDS分數從0.489提高到0.928):

# 批量處理所有文件一次調用 — 每次convert()都會啟動一個JVM進程,因此重複調用會很慢
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    format="json",
    hybrid="docling-fast"           # 用於複雜表格
)

它與docling、marker或pymupdf4llm相比如何?

OpenDataLoader [混合]模式在閱讀順序、表格和標題準確性方面總體排名第一(0.907)。主要差異如下:docling(0.882)表現強勁,但缺乏邊界框和AI安全過濾器;marker(0.861)需要GPU,且速度慢1000倍(53.932秒/頁);pymupdf4llm(0.732)速度快,但表格(0.401)和標題(0.412)準確性較差。OpenDataLoader是唯一一款結合確定性本地提取、每個元素的邊界框,以及內建提示注入防護的解析器。詳見完整基準測試

我可以在不將數據傳送到雲端的情況下使用它嗎?

可以。OpenDataLoader完全在本地運行。無需API調用,也無數據傳輸——您的文檔永遠不會離開您的環境。混合模式的後端也在您自己的機器上運行。非常適合法律、醫療保健和金融文檔。

它是否支援掃描PDF的OCR?

是的,通過混合模式實現。安裝時使用pip install "opendataloader-pdf[hybrid]",啟動後端時加上--force-ocr,然後照常處理即可。支援多種語言,包括韓語、日語、中文、阿拉伯語等,可通過--ocr-lang指定。

它適用於韓語、日語或中文文檔嗎?

是的。對於數字PDF,文本提取可直接使用。對於掃描PDF,請使用混合模式並搭配--force-ocr --ocr-lang "ko,en"(或jach_simch_tra)。即將推出的Hancom資料加載器整合——企業級AI文檔分析,內建生產級OCR,並根據您的特定文檔類型和工作流程優化客戶自定義模型。

它的速度如何?

本地模式在CPU上每秒可處理60頁以上(0.02秒/頁)。混合模式每秒可處理2頁以上(0.46秒/頁),對複雜文檔的準確性顯著更高。無需GPU。已在Apple M4上進行了基準測試。完整基準測試詳情。透過多進程批量處理,在8核心以上的機器上,吞吐量可超過每秒100頁。

它能否處理多欄佈局?

是的。OpenDataLoader使用XY-Cut++閱讀順序分析技術,可正確地排列跨多欄頁面、側欄及混合佈局中的文字順序。這在本地模式和混合模式下均有效,無需任何配置。

什么是混合模式?

混合模式将快速的本地 Java 处理与 AI 后端相结合。简单的页面会在本地处理(0.02 秒/页);而复杂页面(表格、扫描内容、公式、图表)则会自动路由到 AI 后端,以获得更高的准确性。后端在您的本地机器上运行——无需云端支持。请参阅我应该使用哪种模式?混合模式指南

它能与 LangChain 配合使用吗?

是的。安装 langchain-opendataloader-pdf 即可实现官方的 LangChain 文档加载器集成。详情请参阅 LangChain 文档

如何为 RAG 切分 PDF?

OpenDataLoader 输出保留标题、表格和列表的结构化 Markdown——这是语义切分的理想输入。JSON 输出中的每个元素都包含 typeheading levelpage number,因此您可以按章节或页边界进行分割。对于大多数 RAG 流水线:使用 format="markdown" 解析以获取文本块,或者在需要元素级控制时使用 format="json"。配合 LangChain 的 RecursiveCharacterTextSplitter 或您自己的基于标题的切分器,可以获得最佳效果。

如何在 RAG 回答中引用 PDF 来源?

JSON 输出中的每个元素都包含一个边界框(以 PDF 点表示的 [left, bottom, right, top])和页码。当您的 RAG 流水线返回答案时,可以将来源块映射回其边界框,以高亮显示原始 PDF 中的确切位置。这样就能实现“点击即溯源”的用户体验——用户可以看到答案来自哪一段落、表格或图表。目前没有其他开源解析器默认为每个元素提供边界框。

如何将 PDF 转换为 LLM 可用的 Markdown?

import opendataloader_pdf

# 批量处理所有文件只需一次调用——每次调用都会启动一个 JVM 进程,因此重复调用会很慢
opendataloader_pdf.convert(
    input_path=["file1.pdf", "file2.pdf", "folder/"],
    output_dir="output/",
    format="markdown"
)

OpenDataLoader 在 Markdown 输出中保留了标题层级、表格结构和阅读顺序。对于包含无边框表格或扫描页面的复杂文档,请使用混合模式(hybrid="docling-fast"),以获得更高的准确性。输出结果足够干净,可以直接输入到 LLM 的上下文窗口或 RAG 切分流水线中。

是否有自动化的 PDF 无障碍修复工具?

是的。OpenDataLoader 是首个端到端自动化 PDF 无障碍修复的开源工具。该工具与 PDF AssociationDual Lab(veraPDF 开发者)合作开发,自动标记功能遵循 Well-Tagged PDF 规范,并通过 veraPDF 进行程序化验证。布局分析引擎能够检测文档结构(标题、表格、列表、阅读顺序),并自动生成无障碍标签。自动标记功能将于 2026 年第二季度推出,在 Apache 2.0 许可下免费提供,不依赖任何专有 SDK。对于需要完全符合 PDF/UA 标准的组织,企业版附加组件提供了 PDF/UA 导出和可视化标签编辑器功能。这将取代通常每份文档成本达 50–200+ 美元的手动修复流程。

这真的是首个开源的 PDF 自动标记工具吗?

是的。现有的工具要么依赖专有 SDK 来写入结构标签,要么只输出非 PDF 格式(例如,Docling 输出 Markdown/JSON,但无法生成 Tagged PDF),或者需要人工干预。OpenDataLoader 是首个在完全开源许可(Apache 2.0)下完成布局分析→标签生成→Tagged PDF 输出的工具,且没有任何专有依赖。自动标记功能遵循 PDF Association 的 Well-Tagged PDF 规范,并通过行业参考级的开源 PDF/A 和 PDF/UA 验证工具 veraPDF 进行验证。

如何将现有 PDF 转换为 PDF/UA?

OpenDataLoader 提供了一个端到端的流程:先审计现有 PDF 是否包含标签(use_struct_tree=True),然后自动将未标记的 PDF 转换为 Tagged PDF(2026 年第二季度,Apache 2.0 许可下免费提供),最后导出为 PDF/UA-1 或 PDF/UA-2(企业版附加组件)。自动标记功能遵循 PDF Association 的 Well-Tagged PDF 规范,并通过 veraPDF 进行验证。自动标记生成的是 Tagged PDF;PDF/UA 导出则是最后一步。如需企业级集成,请联系我们

如何使我的 PDF 符合 EAA 合规要求?

《欧洲无障碍法案》要求数字产品在 2025 年 6 月 28 日前达到无障碍标准。OpenDataLoader 支持完整的修复流程:审计→自动标记→Tagged PDF→PDF/UA 导出。自动标记功能遵循 PDF Association 的 Well-Tagged PDF 规范,并通过 veraPDF 进行验证,确保输出符合标准。自动标记至 Tagged PDF 的功能将于 2026 年第二季度以 Apache 2.0 许可开源。PDF/UA 导出和无障碍工作室是企业版附加组件。请参阅我们的无障碍合规指南

OpenDataLoader PDF 是免费的吗?

核心库采用 Apache 2.0 开源许可——可供商业用途免费使用。这包括所有提取功能(文本、表格、图片、OCR、公式、图表,通过混合模式实现)、AI 安全过滤器、Tagged PDF 支持以及自动标记至 Tagged PDF(2026 年第二季度)。我们致力于保持核心无障碍修复流程(布局分析→自动标记→Tagged PDF)的免费和开源特性。企业版附加组件(PDF/UA 导出、无障碍工作室)适用于需要端到端法规合规的组织。

为什么许可证从 MPL 2.0 更改为 Apache 2.0 ?

MPL 2.0 要求文件级别的 copyleft,这往往会在企业采用前触发法律审查。而 Apache 2.0 则完全宽松——没有 copyleft 义务,更容易集成到商业项目中。如果您正在使用 2.0 版本之前的版本,它仍然受 MPL 2.0 许可约束,您可以继续使用。升级到 2.0 及以上版本意味着您的项目将遵循 Apache 2.0 许可条款,该条款更为宽松——您无需承担额外义务,也无需采取任何行动。

文档

贡献

我们欢迎贡献!请参阅 CONTRIBUTING.md 获取相关指南。

许可证

Apache 2.0 许可证

注意: 2.0 版本之前的版本采用 Mozilla 公共许可证 2.0 许可。


觉得有用吗? 请给项目点个星,帮助更多人发现 OpenDataLoader。

版本历史

v2.2.12026/04/03
v2.2.02026/03/27
v2.1.12026/03/26
v2.0.22026/03/18
v2.0.12026/03/18
v2.0.02026/03/11
v1.12.02026/03/06
v1.11.32026/03/04
v1.11.22026/02/26
v1.11.12026/02/26
v1.11.02026/02/26
v1.10.12026/02/05
v1.10.02026/02/04
v1.9.12026/01/22
v1.9.02026/01/22
v1.8.22026/01/20
v1.8.12026/01/20
v1.8.02026/01/20
v1.7.22026/01/19
v1.7.12026/01/08

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

155.4k|★★☆☆☆|今天
开发框架Agent语言模型

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|4天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|4天前
插件Agent图像

markitdown

MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器

93.4k|★★☆☆☆|1周前
插件开发框架