❝OpenDataLoader PDF 是一个面向 RAG、知识库和文档处理场景的 PDF 解析工具,支持将任意PDF转换为Markdown/JSON/HTML格式,并提供本地模式和混合AI模式来处理复杂表格、扫描件、公式和图表,同时,它是首个可端到端自动为无标签 PDF 生成无障碍标签(Tagged PDF)的开源工具。
要点
基准测试排名第一:综合得分 0.907,表格提取准确率 0.928,超越 docling、marker、pymupdf4llm 等同类工具,测试覆盖 200 份包含多栏和学术论文的真实场景 PDF。 双模式架构: 默认本地模式:采用确定性规则和 XY-Cut++ 阅读顺序分析算法,可正确排列多栏、侧边栏和混合排版文本。纯 CPU 运行,无 GPU 依赖,速度可达 60 页/秒(0.015 秒/页)。 混合 AI 模式:自动将复杂页面(复杂表格、扫描件、公式、图表)路由至本地 AI 后端,以提升准确率。 输出格式灵活:支持 JSON、Markdown、HTML、纯文本、注释 PDF,可组合输出;其中,JSON 输出包含每个元素的精确边界框(Bounding Box)坐标和页面编号,支持在 RAG 管道中实现“点击溯源(Click to source)”用户体验,可在原始 PDF 对应位置进行高亮显示。 PDF 无障碍自动化:首个端到端开源的自动标记工具,可将无标签 PDF 转换为符合 Well-Tagged PDF 规范的 Tagged PDF(Apache 2.0 免费);PDF/UA-1/UA-2 导出为商业企业功能。 内置 OCR 与公式/图表理解:混合模式支持 80+ 语言 OCR、LaTeX 公式提取、图表 AI 描述生成(基于 SmolVLM 256M 轻量视觉模型)。 AI 安全防护:自动过滤 PDF 中的隐藏文本、透明字体、离页内容等提示注入攻击,可选开启敏感数据脱敏(邮箱、URL、电话 → 占位符)。 多语言 SDK 与生态集成:提供 Python、Node.js、Java SDK,并有官方 LangChain 文档加载器(langchain-opendataloader-pdf)支持。 明确局限:不支持 Word/Excel/PPT 文件处理;混合模式的公式和图表描述需客户端开启 --hybrid-mode full。数据隐私保护:工具及混合模式 AI 后端均 100% 在本地环境运行,无外部 API 调用,数据不离开本地设备,适用于法律、医疗和金融等机密文档的处理。
部署
基础安装(本地模式):
前置依赖:Java 11+(需提前安装 JDK,如 Adoptium)、Python 3.10+
安装命令:
pip install -U opendataloader-pdf使用示例(Python):
import opendataloader_pdfopendataloader_pdf.convert( input_path=["file1.pdf", "file2.pdf", "folder/"], output_dir="output/", format="markdown,json")
混合模式(高精度场景):
安装: pip install "opendataloader-pdf[hybrid]"需先启动本地后端服务器: opendataloader-pdf-hybrid --port 5002客户端命令: opendataloader-pdf --hybrid docling-fast file1.pdf file2.pdf folder/扫描件 OCR 需加 --force-ocr;非英语指定语言如--ocr-lang "ko,en"
项目由 OpenDataLoader 项目团队(opendataloader-project) 开发,采用 Apache License 2.0 协议,当前 28.1k Stars。
❝项目地址:github.com/opendataloader-project/opendataloader-pdf
夜雨聆风