Docling:IBM 开源的文档解析与转换工具
项目地址:
Docling 是一个基于 Python 的文档解析工具,支持 PDF、DOCX、PPTX、XLSX、图片、音频等多种格式的解析,可与生成式 AI 生态集成。项目由 IBM 维护并开源。
功能特性
- 支持解析主流文档格式:PDF、DOCX、PPTX、XLSX、PNG、TIFF、JPEG、WEBP、HTML、WAV、MP3 等
- 提供高级 PDF 文档理解功能:页面布局、阅读顺序、表格结构、代码、公式、图片分类
- 采用统一的 DoclingDocument 表示格式及文档构建 API
- 支持多种导出格式:HTML、Markdown、Doctags、无损 JSON
- 允许本地运行,适用于敏感数据和网络隔离环境
- 集成 AI 平台:LangChain、LlamaIndex、Crew AI、Haystack 等
- 对扫描式 PDF 和图片提供 OCR 支持(EasyOCR、Tesseract、RapidOCR、Mac OCR)
- 支持视觉语言模型 SmolDocling,用于解析图片文件
- 通过自动语音识别(ASR)模型解析音频文件
- 提供命令行工具
开发中的功能:
- 元数据提取(标题、作者、参考文献、文本语言)
- 图表理解(条形图、饼图、折线图等)
- 复杂化学结构理解(分子结构)
系统架构
Docling 按文档格式划分文档转换器。每种格式对应特定的后端模块来完成解析,由 pipeline 协调执行,并支持相关选项配置。Docling 允许通过第三方插件进行功能扩展。
下载安装
安装 Python 环境后,使用包管理器安装:
pip install docling
支持 macOS、Linux、Windows 系统,涵盖 x86_64 和 arm64 架构。
解析 PDF 并输出 Markdown 的 Python 示例:
from docling.document_converter import DocumentConverter
source = "https://arxiv.org/pdf/2408.09869" # file path or URL
converter = DocumentConverter()
doc = converter.convert(source).document
print(doc.export_to_markdown()) # output: "### Docling Technical Report[...]"
命令行方式:
docling https://arxiv.org/pdf/2206.01062
官方文档: