docling 完全指南:3 行代码完成多格式文档解析与 Markdown 转换

发布时间:2026/10/31 16:55:19

docling 完全指南:3 行代码完成多格式文档解析与 Markdown 转换 docling 完全指南3 行代码完成多格式文档解析与 Markdown 转换【免费下载链接】doclingGet your documents ready for gen AI项目地址: https://gitcode.com/GitHub_Trending/do/docling如果你正准备搭一套 RAG 系统而语料里混着扫描版论文、Word 合同和 Excel 台账第一件事大概就是把它们统一变成带结构的 Markdown。docling 做的就是这件事它是一个支持多格式文档解析与文档转换的开源工具把 PDF、DOCX、HTML 等输入统一读入同一个 DoclingDocument 数据模型再按需导出为 Markdown、HTML 或无损 JSON。以下内容基于仓库内 README、docs 目录与源码整理类名与参数均可在对应路径中找到。3 行代码跑通第一次 docling 入门转换安装很简单pip install docling需要 Python 3.10 及以上。最小可运行示例如下from docling.document_converter import DocumentConverter converter DocumentConverter() result converter.convert(thesis_scan.pdf) print(result.document.export_to_markdown())输出的是一段带标题层级、列表与表格结构的 Markdown 字符串官方 README 里给出的样例输出以## Docling Technical Report[...]开头。不想写 Python 的话终端里执行docling 文件名也能直接在当前目录生成 .md 文件。格式支持速览从 PDF 解析到音视频完整清单见 docs/usage/supported_formats.md这里按输入格式归纳输入格式常用输出典型场景PDF含扫描件Markdown、JSON、HTML学术论文解析、扫描件 OCRDOCX / PPTX / XLSXMarkdown、JSON办公报告摘要与入库HTML、Markdown、AsciiDoc、LaTeXMarkdown、DocLang网页抓取内容、排版文档转换PNG / JPEG / TIFF / WEBPMarkdown、JSON图片扫描件数字化WAV / MP3、MP4 等音视频文本、WebVTT会议录音、视频字幕转写USPTO / JATS / XBRL 等 XMLMarkdown、JSON专利、期刊、财报解析输出侧除 Markdown 与 HTML 外还有无损 JSON、Doctags 以及面向 RAG 的 ChunksJSONL也就是说分块这一步可以交给 docling 自己做。工作原理一套统一文档模型几条可插拔管道设计思路是“后端 管道”两层每个格式有自己的后端位于 docling/backend/负责把原始文件读出来而管道负责跑模型阶段。PDF 走 StandardPdfPipeline依次完成布局分析、OCR、表格结构等步骤且支持线程化流水线并行Word、HTML 这类本身就有结构信息的格式走 SimplePipeline直读即可。两条线的终点都是同一个 DoclingDocument它用树状结构记录页面、段落、表格与图片导出方法就挂在上面。文本条目还带有置信度机制见 docs/concepts/confidence_scores.md。docling 表格识别与 OCR 的关键开关一览表PDF 相关格式的行为由PdfPipelineOptions控制定义在 docling/datamodel/pipeline_options.py几个最值得知道的开关参数作用何时开启do_ocr对页面执行 OCR默认 True扫描件必须开纯数字 PDF 可关掉以省时do_table_structure检测表格并重建行列结构默认 True财报、论文表格类文档保持开启do_formula_enrichment公式识别并转 LaTeX默认 False解析含公式的学术论文时开启do_code_enrichment面向代码块的感知处理默认 False文档含大量代码或终端输出时开启images_scale生成图片的缩放倍数默认 1.0需要放大图表给下游视觉模型时调高只针对 PDF 调整配置from docling.datamodel.base_models import InputFormat from docling.datamodel.pipeline_options import PdfPipelineOptions from docling.document_converter import DocumentConverter, PdfFormatOption pdf_opts PdfPipelineOptions(do_ocrTrue, do_formula_enrichmentTrue) converter DocumentConverter( format_options{InputFormat.PDF: PdfFormatOption(pipeline_optionspdf_opts)} )OCR 引擎与表格模型细节还可以继续调ocr_options、table_structure_options两个子对象。docling RAG 集成接 LangChain 与 LlamaIndexLangChain 侧有官方扩展 DoclingLoader加载文档几行搞定from langchain_docling import DoclingLoader loader DoclingLoader(file_paththesis_scan.pdf) pages loader.load()LlamaIndex 侧拆成 Reader 与 Node Parser 两个组件前者读文件后者利用文档结构切出适合 embedding 的节点from llama_index.readers.docling import DoclingReader documents DoclingReader().load_data(file_pathreport.docx)集成文档见 docs/integrations/langchain.md。除此之外docling 自带 docling/chunking/ 分块模块可以直接对 DoclingDocument 生成层级式分块配合 JSONL 输出即可跳过下游框架的分块逻辑。仓库 examples 目录下的 rag_langchain.ipynb、rag_llamaindex.ipynb 给了完整可复现的 RAG 链路。生产环境建议本地化、敏感数据与批量重试全程本地运行模型权重下载到本地推理在自有 CPU/GPU 上完成适合处理敏感材料离线环境可把预置权重目录配到artifacts_path避免运行时联网。批量容错用convert_all(paths, raises_on_errorFalse)单个文件失败不会中断整批失败结果里带ConversionResult.status与错误明细方便记录后重试。资源护栏convert与convert_all都支持max_num_pages、max_file_size防止个别超大文件拖垮进程官方建议在批处理系统里再叠加文档级超时保护。横向扩展docling-serve 可以把转换能力部署成 HTTP 服务见 docs/usage/api_server/配套的客户端 SDK 在 docling/service_client/。模型增强是可选的图片描述、图表理解等 enrichment 能力按需开启详见 docs/usage/enrichments.md。常见问题扫描版 PDF 转出来为什么没有文字或很乱扫描件没有文本层需要保证do_ocrTrue且 OCR 引擎Tesseract、EasyOCR 等已正确安装管道会对缺文本层的页面自动走 OCR 补全。导出的 Markdown 里表格结构不对怎么排查表格是由结构模型重建的合并单元格多的复杂表格容易出错。可以换更准的表格模型table_structure_options或开启generate_page_imagesTrue后调用TableItem.get_image()导出表格原图人工核对。遇到 docling 不支持的格式会怎样不会静默通过默认raises_on_errorTrue时直接抛 ConversionError关掉后结果状态为 SKIPPED 或 FAILURE并在 errors 里写明原因。用allowed_formats白名单还能提前拦掉无关格式。写在最后docling 擅长的是把异构格式归一到一套结构化模型再稳定地导出 Markdown 或 JSON其中 PDF 的表格与公式理解在同类工具里完成度较高它不擅长的是内容层面的问答与摘要这部分仍需交给下游大模型。项目后续还会继续补充元数据抽取、化学结构理解等能力文档解析链路本身仍在快速迭代。【免费下载链接】doclingGet your documents ready for gen AI项目地址: https://gitcode.com/GitHub_Trending/do/docling创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/28 21:55:59

前端实习面试全攻略:从高频考点到实战复盘

金三银四刚过,后台收到好几个学弟学妹的私信,都在问前端实习面试怎么准备。我去年这个时候也是这么过来的,把网上的前端面试题和前端面试八股文翻了个底朝天,结果真坐在面试官对面,才发现光背题远远不够。这篇面经不是…

2026/10/31 16:54:34

自建VoiceStudio:本地声音克隆与语音合成工作台实战指南

做配音交付的朋友,最近应该都有同一个感受:客户不再只满足于"找个声音像的人念一遍",而是会问"能不能用我们老板的声音做企业培训视频""能不能复刻这期播客主播的语气""这个宣传片想用固定一个人的声线批…

2026/10/31 16:54:34

VS Code与MinGW搭建高效C语言开发环境指南

1. 为什么选择VS Code作为C语言开发环境? 作为一名带过三届计算机专业新生的助教,我见过太多同学在C语言环境配置上栽跟头。VS Code之所以成为我的首推工具,是因为它完美平衡了轻量化和功能性——安装包仅70MB左右,却能通过插件扩…

2026/10/31 16:54:34

VS Code配置C语言开发环境全攻略

1. 为什么选择VS Code作为C语言开发环境?作为一名带过三届计算机专业新生的助教,我见过太多同学在C语言环境配置上栽跟头。Visual Studio虽然开箱即用,但体积臃肿;Dev-C又过于老旧。VS Code凭借其轻量级(安装包仅80MB左…

2026/10/31 16:54:34

BPSK匹配滤波原理与根升余弦成形实战

简介:本资源是一份面向通信工程专业本科生及数字信号处理初学者的MATLAB仿真实验包,聚焦BPSK调制系统中匹配滤波与脉冲成形的核心原理验证。通过仿真完整实现BPSK信号生成、根升余弦成形滤波、加性高斯白噪声信道模拟、接收端匹配滤波及误码率统计全过程…

2026/10/31 16:54:34

前端后台翻译三重语义分层指南

1. 这个看似简单的翻译问题,为什么让团队吵了三天?“前台”到底该翻成 frontend 还是 front office?“后台”写成 backend 还是 back office?上周在某跨平台系统重构会上,前端组和后端组的两位技术负责人对着一份中英双…

2026/10/31 16:49:34

金融数据分析转型:AI技术如何解决行业痛点

1. 智能金融分析的行业痛点与转型契机金融投资研究领域正面临前所未有的数据挑战。传统投研团队每天需要处理上百份财报、数千条新闻资讯和实时市场数据,分析师平均花费60%的工作时间在数据收集和基础处理上。这种低效模式导致三个核心痛点:信息过载与处…

2026/10/30 20:55:10

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/30 20:55:10

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/30 20:55:09

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/31 0:02:41

猫狗目标检测数据集:VOC/COCO/YOLO三格式一体化实战包

简介:本资源是一套面向计算机视觉初学者与YOLO目标检测实践者的猫狗图像数据集及配套开发工具包,专为快速上手目标检测模型训练而设计。资源包含1000张真实场景高清猫狗图片,标注质量高,同时提供VOC(XML)、…

2026/10/31 0:02:41

HDU2017多校标程复现:算法竞赛工程化真题沙盒

简介:本资源为2017年HDU多校联合训练第一场官方配套资料,面向ACM程序设计竞赛备赛学生、算法爱好者及高校编程集训队成员,旨在提供权威解题参考与完整测试验证环境。压缩包共40个文件,含15份C标程(覆盖全部赛题&#x…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑