Repolode
NanoNets

NanoNets/docstrange

Python 库与本地 Web 界面,可将 PDF、Word、PPT、表格、图片和网页转换为 Markdown、JSON、CSV 或 HTML。

可替代:Amazon TextractAdobe Acrobat

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. 1

    使用 pip 安装库

    pip install docstrange
  2. 2

    在 Python 中将文档转换为 Markdown(默认云端模式)

    from docstrange import DocumentExtractor extractor = DocumentExtractor() result = extractor.extract("document.pdf") markdown = result.extract_markdown() print(markdown)
  3. 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 数据每日更新。

相关项目