开源文档解析工具,把 PDF、Office、HTML 等文件转换为结构化数据,供生成式 AI 使用。
NanoNets/docstrange
Python 库与本地 Web 界面,可将 PDF、Word、PPT、表格、图片和网页转换为 Markdown、JSON、CSV 或 HTML。
- Star
- 1,579
- Fork
- 138
- 未关闭 Issue
- 14
- 最近提交
- 12个月前
这是什么?
DocStrange 是一个 Python 库,可将 PDF、DOCX、PPTX、表格、图片和网页等文档转换为干净的 Markdown、结构化 JSON、CSV 或 HTML。它结合 OCR 与版面检测,能够处理扫描件和手机拍照的文档,并把表格输出为适合 LLM 输入和 RAG 流程使用的格式。
除普通转换外,它还能按指定字段(如发票号、总金额)抽取内容,或按自定义 JSON Schema 生成结构化结果。处理方式分两种:一是免费云端 API,登录后每月可处理 1 万份文档;二是在本机 CPU 或 CUDA GPU 上本地运行,数据不离开设备。安装 web 扩展后可使用拖拽式本地网页界面,命令行工具则适合批量转换。
项目通过 pip 安装,要求 Python 3.8 及以上。仓库中还附带一个面向本地开发的 MCP 服务器,可接入 Claude Desktop。
核心功能
- 01可将 PDF、DOCX、PPTX、XLSX、图片和网页转换为 Markdown、JSON、CSV 和 HTML。
- 02通过 OCR 与版面检测识别扫描件和手机拍摄的文档。
- 03按指定字段或自定义 JSON Schema 抽取结构化数据。
- 04支持云端处理,也可在本机 CPU 或 GPU 上完全离线运行。
- 05提供本地拖拽式网页界面和命令行工具。
适用场景
- 将扫描合同、报告或收据转换为 Markdown,用于 RAG 流程。
- 从批量 PDF 发票中抽取编号、金额和日期,输出为 JSON 或 CSV。
- 在需要数据留在本地的场景中离线完成文档转换。
- 将 Excel 或 PDF 报表中的表格转换为 CSV 以便分析。
快速上手
- 1
使用 pip 安装库
pip install docstrange - 2
在 Python 中将文档转换为 Markdown(默认云端模式)
from docstrange import DocumentExtractor extractor = DocumentExtractor() result = extractor.extract("document.pdf") markdown = result.extract_markdown() print(markdown) - 3
可选:安装 Web 界面依赖并启动本地 Web 界面
pip install "docstrange[web]"
使用前须知
- 免费云处理每月限 10000 份文档,且默认模式会将文件发送到云端。
- 完全私密的本地处理需要 CUDA GPU,没有 GPU 则无法使用本地 GPU 模式。
- 本地模式首次运行时需要下载模型。
标签
常见问题
- docstrange 是什么?
- Python 库与本地 Web 界面,可将 PDF、Word、PPT、表格、图片和网页转换为 Markdown、JSON、CSV 或 HTML。 DocStrange 是一个 Python 库,可将 PDF、DOCX、PPTX、表格、图片和网页等文档转换为干净的 Markdown、结构化 JSON、CSV 或 HTML。它结合 OCR 与版面检测,能够处理扫描件和手机拍照的文档,并把表格输出为适合 LLM 输入和 RAG 流程使用的格式。
- docstrange 可以免费使用吗?用的什么许可证?
- docstrange 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- docstrange 还在维护吗?
- 超过半年未提交。docstrange 最近一次提交是在 2025年10月31日。
- docstrange 适合用来做什么?
- 将扫描合同、报告或收据转换为 Markdown,用于 RAG 流程。 从批量 PDF 发票中抽取编号、金额和日期,输出为 JSON 或 CSV。 在需要数据留在本地的场景中离线完成文档转换。 将 Excel 或 PDF 报表中的表格转换为 CSV 以便分析。
- docstrange 怎么安装和运行?
- 使用 pip 安装库: pip install docstrange 在 Python 中将文档转换为 Markdown(默认云端模式): from docstrange import DocumentExtractor extractor = DocumentExtractor() result = extractor.extract("document.pdf") markdown = result.extract_markdown() print(markdown) 可选:安装 Web 界面依赖并启动本地 Web 界面: pip install "docstrange[web]"
- 在哪里获取 docstrange?
- 源代码和安装说明在 GitHub 上:https://github.com/NanoNets/docstrange
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
开源 Python 网页爬虫,可将任意网站转为干净、适合 LLM 使用的 Markdown,并支持结构化数据提取。
在内容发送给大模型前压缩工具输出、日志、文件和 RAG 片段的上下文压缩层。
自托管的 OpenAI 兼容 AI 引擎,可在任意硬件(含纯 CPU)上运行大模型、视觉、语音、图像和视频模型。
开源自主研究智能体,自动规划研究问题、收集网页与本地资料,并调用任意 LLM 生成带引用的报告。
基于 Python 与 Rust 内核的增量数据管道框架,让向量索引和知识图谱随源数据变化持续同步,服务于 AI 智能体与 RAG 应用。