docstrange

从任意文档秒提取结构化数据,一键转成 JSON/CSV

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 138 🐛 待处理 14 👀 关注 12
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 1587
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源项目,MIT许可证,完全免费,可自行部署使用。

项目预览

docstrange 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开源模型
开发团队NanoNets
定价模式🏷️完全免费
价格说明开源项目,MIT许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议MIT
主要语言Python
技术栈/模型ai,document-parser,document-parsing,image-to-markdown,llm,markdown,ocr,pdf-parser,pdf-to-json,pdf-to-markdown,structured-data,structured-data-capture,tables
GitHub 星标★ 1587
上线时间2025-07-31 00:00:00
代码更新2025-10-31
仓库体积359 KB
本站数据更新2026-11-10
维护状态低维护
收录时间2026-08-09
浏览次数3

项目介绍

docstrange 是一个基于 Python 的文档数据提取与转换工具,旨在解决从多种文档格式(如 PDF、Word、PPT、图片及 URL)中高效提取结构化数据的痛点。它结合智能结构化数据提取和高级 OCR 技术,能够将非结构化内容转换为 Markdown、JSON、CSV、HTML 等通用格式,方便下游应用直接使用。核心能力包括:多格式支持(文档、图片、网页)、智能字段识别(自动提取表格、键值对等)、OCR 识别(处理扫描件和图片文字)、以及灵活的导出选项。项目目前处于成长阶段,GitHub 星标超 1500,社区关注度上升,适合需要批量处理文档、构建数据管道或进行内容迁移的开发者。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1587

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 7 步

环境要求

  • 已安装 Python 与 pip
  • 可联网安装 PyPI 上的 docstrange 包
  • 本地运行支持 GPU 或 CPU
  • 使用 Web UI 需额外安装 web 依赖(Flask)

安装与启动步骤

  1. 1安装 docstrange

    在终端用 pip 从 PyPI 安装 docstrange 库,安装完成后即可在 Python 中导入使用。

    pip install docstrange
  2. 2安装 Web 依赖

    若要用本地网页界面,需安装 web 附加依赖或单独安装 Flask,否则 Web 命令无法启动。

    pip install -e ".[web]"
    pip install Flask
  3. 3登录云服务

    使用云端处理(每月最多 10000 个文档)前先执行登录,凭据会被缓存供后续自动使用。

    docstrange login
  4. 4Python 中调用

    导入 DocumentExtractor 并实例化,随后即可转换 PDF、DOCX 等文档为 Markdown 等格式。

    python -c "from docstrange import DocumentExtractor; extractor = DocumentExtractor()"
  5. 5启动本地 Web UI

    运行内置网页界面,可在浏览器中拖拽上传文档进行转换,默认本地访问。

    docstrange web
  6. 6指定端口启动

    默认端口被占用时,可换一个端口启动 Web UI,例如使用 8080 端口。

    docstrange web --port 8080
  7. 7开发模式运行

    需要调试时可调用 run_web_app 并传入 debug=True,输出更详细的调试信息。

    python -c "from docstrange.web_app import run_web_app; run_web_app(debug=True)"

关键配置

配置项必填说明示例
port否指定本地 Web UI 监听端口,默认端口被占用时修改。8080
debug否开发模式开关,开启后输出调试信息。True

如何确认成功

执行 docstrange web 后浏览器打开本地页面,拖拽上传文档能成功返回 Markdown/JSON 结果即启动成功。

常见问题

Q:不想安装能试用吗?

A:可以,README 提供在线体验地址 docstrange.nanonets.com,无需安装即可试用云服务转换文档。

Q:本地处理会把文档上传到云端吗?

A:使用本地 gpu 模式可 100% 本地处理,数据不发送到任何地方,全部留在本机。

Q:云端处理有额度限制吗?

A:免费云处理每月最多支持 10000 个文档;未登录的免费档每日调用次数有限。

Q:本地运行需要 GPU 吗?

A:不需要,README 说明本地运行时 GPU 或 CPU 均可工作。

注意事项

  • README 未给出统一的启动命令,本文档命令均取自其安装与高级用法示例。
  • 核心模型已升级为 7B 参数,文档理解与准确率更高。
  • 支持 PDF、图片、PPTX、DOCX、XLSX 及 URL 等输入,输出 Markdown、JSON、CSV、HTML。
  • 可通过 MCP server 与 Claude Desktop 集成,实现智能文档导航。

核心亮点

  • 支持 PDF、Word、PPT、图片和 URL 等多种输入,覆盖常见办公场景
  • 内置高级 OCR,可处理扫描件和图片中的文字,降低预处理门槛
  • 输出格式丰富(Markdown/JSON/CSV/HTML),便于对接数据管道

不足之处

  • 文档/社区待观察:项目较新,文档和示例可能不够完善
  • 复杂版式(如多层嵌套表格)的提取准确率可能受限于底层模型

适用场景

  • 批量转换 PDF/Word 合同为结构化 JSON 供业务系统使用
  • 从扫描版书籍或图片中提取文字并生成 Markdown 笔记
  • 爬取网页内容并转换为 CSV 用于数据分析或训练集构建

替代项目

unstructured、PaddleOCR、docling

同类项目推荐

meikipop 开源

截图即查日语生词,阅读不中断

meikipop - universal japanese ocr popup dictionary for windows, linux and macos

★ 729 2026-09-19
fractogenesis 开源

从单点出发,用算法长出一整片分形宇宙

Fractal structures grown from a single point, using either cellular automata rules o···

★ 116 2026-08-09
VideoPipe 开源

拖拽式搭建视频分析流水线,快速落地 CV+大模型应用

A cross-platform video structuring (video analysis) framework based on CV models & m···

★ 2992 2026-08-09
gen2seg 开源

用生成模型让实例分割无需标注,开箱即用

[ICLR 2026] Code for "gen2seg: Generative Models Enable Generalizable Instance Segme···

★ 78 2026-08-09
macOCR 开源

框选屏幕任意文字,秒进剪贴板

Get any text on your screen into your clipboard.

★ 2445 2026-09-19
see-through 开源

一张动漫图,自动拆成可编辑图层

"Single-image Layer Decomposition for Anime Characters" (SIGGRAPH 2026 Conference Pa···

★ 5568 2026-10-03
eSearch-OCR 开源

npm 装完就能在 JS 里跑 PaddleOCR 取字。

基于paddleOCR的js库

★ 134 2026-09-19
DEIMv2 开源

用DINOv3做实时检测,又快又准,直接落地。

[DEIMv2] Real Time Object Detection Meets DINOv3

★ 2098 2026-08-14
FiT3D 开源

给二维视觉模型装上三维感知,微调后特征更懂空间结构

[ECCV 2024] Improving 2D Feature Representations by 3D-Aware Fine-Tuning

★ 333 2026-08-09