海外访问:www.kdjingpai.com
Ctrl + D 收藏本站

Docstrange 是一个开源的文档处理工具,专注于从多种格式的文档和图片中提取数据,并将其转换为 Markdown、JSON、CSV 或 HTML 等格式。它利用人工智能和先进的 OCR 技术,支持处理 PDF、Word 文档、Excel 表格、PowerPoint 演示文稿、图片以及网页内容。用户可以通过简单的代码或命令行操作,快速提取文本、表格或特定字段,适合开发者、研究人员和企业用户处理复杂文档。工具支持云端和本地处理,保障数据隐私,且输出结果结构清晰,特别适合与大语言模型(LLM)结合使用。Docstrange 由 NanoNets 开发,托管在 GitHub 上,免费且易于集成。

 

功能列表

  • 从 PDF、Word、Excel、PowerPoint、图片和网页中提取文本和数据。
  • 支持将提取内容转换为 Markdown、JSON、CSV、HTML 和纯文本格式。
  • 提供智能字段提取,可根据用户定义提取特定信息,如发票编号或合同条款。
  • 支持 JSON 模式定义,输出符合用户指定结构的数据。
  • 内置高级 OCR 技术,处理图片和扫描文档中的文本。
  • 提供表格提取功能,保留复杂表格的结构并转换为 Markdown 或 HTML。
  • 支持本地 CPU 或 GPU 处理,保障数据隐私。
  • 提供命令行和 Python API 两种操作方式,适合开发者集成。
  • 支持批量处理多个文件,提高工作效率。

使用帮助

安装流程

要使用 Docstrange,首先需要安装 Python 环境(推荐 Python 3.8 或以上版本)。然后通过以下步骤安装 Docstrange 库:

  1. 安装 Docstrange
    在终端运行以下命令安装 Docstrange:

    pip install docstrange
    

    安装完成后,用户可以通过 Python 脚本或命令行调用工具。

  2. 获取 API 密钥(可选)
    如果使用云端处理模式,可以在 NanoNets 官网 注册并获取免费 API 密钥,以提升处理限额。获取密钥后,在命令行中可以通过 --api-key YOUR_API_KEY 参数指定。
  3. 本地处理模式(可选)
    如果需要完全本地化处理,需安装支持本地 OCR 的依赖(如 Ollama)。运行以下命令启用 CPU 或 GPU 处理:

    docstrange document.pdf --cpu-mode
    

    docstrange document.pdf --gpu-mode
    

    注意:GPU 模式需要 CUDA 支持的硬件环境。

使用方式

Docstrange 提供两种主要操作方式:Python API 和命令行。以下详细介绍如何使用核心功能。

通过 Python API 使用

Docstrange 的 Python API 适合开发者集成到现有项目中。以下是一个提取 PDF 文件内容的示例:

from docstrange import DocumentExtractor
# 初始化提取器(默认云端模式)
extractor = DocumentExtractor()
# 提取 PDF 文件并转换为 Markdown
result = extractor.extract("document.pdf")
markdown = result.extract_markdown()
print(markdown)
# 提取特定字段
fields = result.extract_data(specified_fields=["invoice_number", "total_amount"])
print(fields)
# 使用 JSON 模式提取结构化数据
schema = {
"contract_number": "string",
"parties": ["string"],
"total_value": "number"
}
structured_data = result.extract_data(json_schema=schema)
print(structured_data)

用户可以根据需求选择输出格式(Markdown、JSON、CSV、HTML)。[](https://github.com/NanoNets/docstrange)

通过命令行使用

命令行操作适合快速处理文件。以下是一些常见命令:

  • 提取 PDF 文件并输出为 Markdown:
    docstrange document.pdf --output markdown
    
  • 提取特定字段并输出为 JSON:
    docstrange invoice.pdf --output json --extract-fields invoice_number total_amount
    
  • 批量处理多个 PDF 文件:
    docstrange *.pdf --output markdown
    
  • 保存结果到文件:
    docstrange document.pdf --output-file result.md
    

命令行支持灵活的参数组合,用户可以根据需求指定输出格式或处理模式。

特色功能操作

  1. 智能字段提取
    Docstrange 允许用户指定需要提取的字段,如发票编号、金额或合同日期。例如,处理发票时:

    docstrange invoice.pdf --output json --extract-fields invoice_number vendor_name total_amount
    

    工具会自动识别文档中的相关字段并返回结构化 JSON 数据。这种功能非常适合需要快速提取关键信息的场景。

  2. 表格提取
    对于包含复杂表格的文档,Docstrange 可以准确提取表格并转换为 Markdown 或 HTML 格式。例如:

    result = extractor.extract("financial_report.pdf")
    html_table = result.extract_html()
    print(html_table)
    

    输出的表格保留原始结构,适合直接用于网页或文档编辑。

  3. 本地处理模式
    为保护数据隐私,用户可以启用本地处理模式:

    extractor = DocumentExtractor(cpu=True)
    result = extractor.extract("document.pdf")
    print(result.extract_markdown())
    

    本地模式无需将数据发送到云端,适合敏感文档处理。

  4. JSON 模式支持
    用户可以定义 JSON 模式,确保输出数据符合特定结构。例如,处理合同文档:

    schema = {
    "contract_number": "string",
    "parties": ["string"],
    "total_value": "number",
    "start_date": "string"
    }
    structured_data = result.extract_data(json_schema=schema)
    print(structured_data)
    

    这种方式适合需要标准化的数据输出场景。

注意事项

  • 云端模式需要稳定的网络连接,建议使用 API 密钥以提高处理速度。
  • 本地模式需要额外安装 OCR 依赖,具体要求可参考 GitHub 文档。
  • 目前工具不支持手写文档的处理,适合处理打印或电子文档。

应用场景

  1. 学术研究
    研究人员可以利用 Docstrange 将学术论文的 PDF 文件转换为 Markdown 格式,保留表格和文本结构,便于进一步分析或导入到知识库。
  2. 财务管理
    企业用户可以从发票、收据或财务报告中提取关键字段(如金额、日期),并输出为 JSON 或 CSV,方便导入财务软件。
  3. 法律文档处理
    律师可以快速提取合同中的关键条款或签名信息,生成结构化数据,简化合同审核流程。
  4. 数据分析
    数据分析师可以将网页或 Excel 文件中的表格提取为 CSV 格式,用于数据可视化或机器学习模型训练。

QA

  1. Docstrange 支持哪些文件格式?
    它支持 PDF、Word、Excel、PowerPoint、图片(PNG、JPG 等)以及网页 URL 的数据提取。
  2. 如何保证数据隐私?
    用户可以选择本地 CPU 或 GPU 处理模式,数据不会上传到云端,适合处理敏感文档。
  3. 是否需要付费使用?
    Docstrange 是开源工具,免费使用。云端模式需要注册 NanoNets 账户获取 API 密钥,免费账户有使用限额。
  4. 能否处理手写文档?
    目前 Docstrange 主要支持打印或电子文档,手写文档的处理效果有限。
0已收藏
0已赞

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

回顶部

zh_CN简体中文