检查一个文件#
输入任意文件名,检查器会把扩展名与 Docling 自己的扩展名表匹配,并告诉你该文件会如何被读取。
输入格式一览#
读取自 docling.datamodel.base_models.InputFormat。
查看数据表
| 格式数 | |
|---|---|
| Office、OpenDocument 与 CSV | 11 |
| XML 标准与 Docling 原生格式 | 7 |
| 网页、标记语言与电子书 | 6 |
| Apple iWork | 3 |
| 音频、视频与字幕 | 3 |
| PDF 与图片 | 2 |
| 邮件、笔记与日历 | 3 |
| 大型机与打印流 | 2 |
Docling 读取文件的两种方式#
PDF 流水线
用于 PDF、图片和 METS 扫描归档。逐页解析,版面模型标注每个区域,TableFormer 重建表格,没有文本的地方用 OCR 补全。功能强大,但在 CPU 上每页需要数秒。
直接(“simple”)解析
用于其余所有带结构的格式——Office、OpenDocument、HTML、Markdown、LaTeX、XML、邮件、EPUB、iWork。标题、列表和表格直接从文件读取,结果精确,通常不到一秒。
音频和视频走第三条路线:ASR 和视频流水线负责转写语音(视频还会采样关键帧)。
完整输入参考#
InputFormat | 扩展名 | 读取方式 | 说明 |
|---|---|---|---|
pdf | PDF 流水线(docling-parse) | 没有文本层的地方做 OCR;也可用 --pdf-backend pypdfium2 解析 | |
image | .png .jpg .jpeg .tif .tiff .bmp .webp .gif | PDF 流水线 | 始终 OCR |
docx | .docx .dotx .docm .dotm | 直接解析 | python-docx |
doc、rtf | .doc .dot · .rtf | LibreOffice → docx → 直接解析 | 需要 PATH 中有 soffice 或设置 DOCLING_LIBREOFFICE_CMD |
pptx | .pptx .potx .ppsx .pptm .potm .ppsm | 直接解析 | python-pptx;EMF/WMF 图片需要 LibreOffice |
ppt | .ppt .pot .pps | LibreOffice → pptx → 直接解析 | 需要 LibreOffice |
xlsx | .xlsx .xlsm .xltx .xltm | 直接解析 | openpyxl;保留单元格位置作为来源坐标;保留货币、百分比和日期格式(2.145.0+);自 2.146.0 起可读取放入单元格的图片(Excel“放置在单元格中”)——我们确认 2.143.1 输出的是 #VALUE! |
xls | .xls .xlt | LibreOffice → xlsx → 直接解析 | 需要 LibreOffice |
csv | .csv | 直接解析 | 一个表格 |
odt、ods、odp | .odt .ott · .ods .ots · .odp .otp | 直接解析 | 用 --from odf 一次选中三者 |
html、mhtml | .html .htm .xhtml · .mhtml .mht | 直接解析 | 仅在使用 --html-image-fetch 时抓取图片;可选无头浏览器渲染 |
md | .md .markdown .txt .text .qmd .rmd | 直接解析 | 纯文本文件按 Markdown 处理;开头的 YAML front matter 会被跳过(2.145.0+) |
asciidoc | .adoc .asciidoc .asc | 直接解析 | |
latex | .tex .latex | 直接解析 | |
epub | .epub | 直接解析 | |
email | .eml .msg | 直接解析 | Outlook .msg 通过 python-oxmsg 读取 |
boxnote | .boxnote | 直接解析 | Box Notes |
iwork_pages、iwork_keynote、iwork_numbers | .pages · .key · .numbers | 直接解析 | 若已安装 LibreOffice,会用它渲染图表 |
xml_jats | .xml .nxml | 直接解析 | 期刊论文(如 PubMed Central) |
xml_uspto | .xml .txt | 直接解析 | 美国专利 |
xml_xbrl | .xml .xbrl | 直接解析(Arelle) | pip install "docling[xbrl]" |
xml_doclang、dclx | .dclg .dclg.xml · .dclx | 直接解析 | DocLang 文档与归档 |
json_docling | .json | 直接解析 | 重新载入已保存的 DoclingDocument |
mets_gbs | .tar.gz | PDF 流水线 | Google Books 的 METS 扫描归档 |
audio | .wav .mp3 .m4a .aac .ogg .flac | ASR 流水线 | pip install "docling[asr]" + FFmpeg |
video | .mp4 .avi .mov .mkv .webm | 视频流水线 | 转写 + 关键帧;docling-slim[format-video] |
vtt | .vtt | 直接解析 | WebVTT 字幕 |
ebcdic | .ebc .ebcdic | 直接解析 | 大型机文本编码 |
afp | .afp | 直接解析 | IBM AFP(高级功能演示)打印流 |
calendar | .ics .ical .icalendar .ifb | 直接解析 | 2.148.0 新增。事件、待办、日志条目和忙闲时间,以及参与者、提醒和附件名称;无需额外安装 |
扩展名读取自 2.148.0 的 FormatToExtensions,后端读取自 Docling 的默认格式选项。部分扩展名(.xml、.txt、.json)对应多种格式,此时 Docling 会检查内容来判断。
日历文件(.ics),2.148.0 新增#
Docling 用自带的解析器读取 Outlook、Google 日历或 Apple 日历导出的 iCalendar 文件,无需额外安装。每个事件或待办都会成为一节,包含时间、地点、组织者和描述,后面是参与者、提醒和附件名称的列表。首行为 BEGIN:VCALENDAR 的文件即使没有扩展名也能识别,但命名为 .txt 或 .md 时除外。
docling convert team.ics --to md# Team calendar
## Quarterly planning
Start: 2026-11-10 14:00 UTC
End: 2026-11-10 15:00 UTC
Location: Room 4
### Attendees
- Bo Chen <bo@example.com> (accepted)
### Reminders
- Display, 15 minutes before start
## Send budget draft
Due: 2026-11-12 17:00 UTC
Status: Needs action在我们对 2.148.0 的测试中,这个含两个条目的文件转换用时 0.01 秒。注意 Markdown 会把电子邮件地址两侧的尖括号转义为 < 和 >。输出中的字段名(Start、Location 等)固定为英文。
输出格式#
--to | 得到什么 | 适合 |
|---|---|---|
md | Markdown,表格为管道表格(默认) | LLM 提示词、RAG、阅读 |
json | 无损的 DoclingDocument,含版面、来源和边界框 | 流水线、引用溯源、日后再导出 |
yaml | 与 JSON 内容相同,YAML 格式 | 人工比对差异 |
html | 语义化 HTML | 展示、归档 |
html_split_page | 每页图像与提取出的 HTML 并排显示 | 检查转换质量(加 --show-layout) |
text | 纯文本 | 搜索索引、简单 NLP |
doctags | DocTags 标记(Granite-Docling 输出的格式) | VLM 训练与评测 |
vtt | 带时间戳的 WebVTT | 音视频转写 |
doclang、dclx | DocLang XML 文档 / 归档 | 与 DocLang 工具交换 |
chunks | 带标题上下文、限制 token 数的分块(JSON) | 向量数据库——见 RAG 与分块 |
latex | LaTeX 源码 | 论文与排版 |
限制输入格式#
docling convert ./inbox --from pdf --from docx --to mdfrom docling.datamodel.base_models import InputFormat
from docling.document_converter import DocumentConverter
converter = DocumentConverter(allowed_formats=[InputFormat.PDF, InputFormat.DOCX])常见问题
Docling 能转换 Word 文档吗?
能。.docx(以及 .dotx、.docm、.dotm)通过 python-docx 直接从 Office XML 解析,python-docx 已包含在 pip install docling 中。旧版 .doc 文件会先用 LibreOffice 转为 .docx,需要另行安装 LibreOffice。
Docling 支持 Excel 吗?
支持。.xlsx、.xlsm、.xltx 和 .xltm 按工作表读取,并以单元格位置作为来源坐标。旧版 .xls 会先用 LibreOffice 转为 .xlsx。也支持 CSV。
Docling 能读取扫描版 PDF 和图片吗?
能。图片(PNG、JPEG、TIFF、BMP、WebP、GIF)和扫描版 PDF 会经过带 OCR 的 PDF 流水线。在我们的测试中,Docling 从一篇 150 DPI 的扫描论文中还原了 93% 的单词(Docling 2.148.0)。
Docling 支持音频和视频吗?
支持。音频(WAV、MP3、M4A、AAC、OGG、FLAC)由 ASR 流水线用 Whisper 等模型转写;视频(MP4、AVI、MOV、MKV、WebM)会生成转写文本和关键帧。需要安装 docling[asr] 和 FFmpeg。
Docling 支持哪些输出格式?
共 12 种:Markdown(md)、JSON、YAML、HTML、并排 HTML(html_split_page)、纯文本、DocTags、WebVTT、DocLang、DocLang 归档(dclx)、分块(chunks)和 LaTeX。
资料来源
- Docling 源码:InputFormat、OutputFormat 与 FormatToExtensions(docling/datamodel/base_models.py)
- Docling 源码:各格式默认后端(docling/document_converter.py)
- 官方文档:支持的格式