Docling 是一个用于将文档(如 PDF、Word 文档、扫描件等)转换为结构化数据格式(如 JSON、Markdown、HTML 等)的开源工具。它由 deepset 开发,能够处理复杂格式的文档,并提取其中的文本、表格、标题、图像等信息,非常适合用于文档解析、信息提取、数据迁移等任务。
Docling 的主要特点:
- 支持多种文档格式:
- Word(.docx)
- Scanned documents(结合 OCR)
- HTML
- Markdown
- Plain text
- 结构化输出:
- JSON(便于程序处理)
- Markdown(便于阅读和展示)
- HTML(可用于网页展示)
- 表格识别:
- 自动识别表格并提取为结构化数据(如 Markdown 表格或 JSON 格式)
- OCR 支持:
- 对扫描件或图片文档,使用 Tesseract OCR 或其他 OCR 引擎进行文本识别
- 段落与标题识别:
- 能识别文档中的标题层级(H1、H2 等),便于构建目录结构
- 易于集成:
- 提供 Python API 和命令行工具,适合集成到数据处理流程中
安装方式:
pip install docling
示例:使用 Docling 解析 PDF 文件
from docling.document_converter import DocumentConverter
from docling.datamodel.base_models import InputFormat
# 创建转换器
converter = DocumentConverter()
# 转换文档(支持本地路径或 URL)
result = converter.convert("example_document.pdf")
# 获取 Markdown 格式的文本
print(result.document.export_to_markdown())
输出结构示例(Markdown):
# 项目计划书
## 一、项目背景
随着人工智能技术的发展,自动化文档处理成为企业数字化转型的重要组成部分。
## 二、目标
- 实现文档的自动解析
- 提取结构化数据
- 支持多种文档格式
## 三、表格示例
| 项目阶段 | 时间 | 负责人 |
|----------|------|--------|
| 需求分析 | 2025.01-2025.02 | 张三 |
| 开发实现 | 2025.03-2025.05 | 李四 |
使用场景:
- 企业文档自动化处理
- 构建知识库或问答系统的内容源
- 法律、财务等行业的文档结构化
- 数据迁移与集成
- 教育行业的教材自动整理