帮助中心/最新通知

质量为本、客户为根、勇于拼搏、务实创新

< 返回文章列表

【运维相关】docling,强大的文档解析转换工具,开源免费!

发表时间:2025-01-16 01:32:56 小编:主机乐-Yutio

Docling是开源的一款多功能文档解析与转换工具,github的star数达到29.5k专门用于将各类文档转化为适合生成式AI使用的结构化格式 。它支持PDF、DOCX、PPTX、图片、HTML、Markdown等多种流行文档格式的导入,并能将这些格式导出为Markdown和JSON

github地址:https://github.com/docling-project/docling?tab=readme-ov-file

image-20250512205437812
image-20250512205437812

特点

  • 先进的PDF理解能力,包括页面布局分析、阅读顺序确定和表格结构识别
  • 统一的DoclingDocument表示格式,提供富有表现力的文档数据结构
  • 无缝集成LlamaIndex和LangChain,为RAG(检索增强生成)和QA(问答)应用提供强大支持
  • 可选的OCR支持,能够处理扫描版PDF和图像中的文字

写作提示:可以以一个实际案例开头,比如"你是否曾花费数小时手动从PDF报告中提取表格数据?Docling的出现让这一过程缩短到几分钟…"

安装和使用

因为本人太菜,安装 过程可谓是大费周章,它本来是容易的

说明一下:如果你也是根据官网中的pip install docling进行安装,大致可能出现一些问题如下:

  • pydantic版本问题(这个好像是我的环境污染导致的)
  • click和typer版本问题

建议大家隔离环境进行安装,执行如下命令

代码语言:javascript
AI代码解释
复制
# 创建一个隔离环境
conda create -n docling python=3.11
# 激活
conda activate docling
# 下载
pip install typer==0.9.0 click==8.1.7
pip install docling

按照上面的执行,应该就不会出现问题了,最后执行一下docling --help,如果不报错就没问题了。

image-20250512210333909
image-20250512210333909

基础转换代码示例:

代码语言:javascript
AI代码解释
复制
from docling.document_converter import DocumentConverter

source = "https://arxiv.org/pdf/2408.09869"  # 本地路径或URL
converter = DocumentConverter()
result = converter.convert(source)
print(result.document.export_to_markdown())

命令行界面操作:

代码语言:javascript
AI代码解释
复制
# 单个文件转Markdown(默认)
docling myfile.pdf

# 转换为Markdown和JSON且不使用OCR
docling myfile.pdf --to json --to md --no-ocr

# 批量转换目录中的PDF文件
docling ./input/dir --from pdf --output ./scratch
image-20250512210821537
image-20250512210821537

用后感受

它对多行代码块的识别不是那么智能,最起码我测试的是这样!可能他并不知道这个多行代码块是json还是java。对于别的我认为识别和转化是很优秀的,尤其是表格的识别


联系我们
返回顶部