MarkItDown 入门指南:3 步把 PDF、Word、Excel 转成 Markdown
2026/9/20 7:17:57 网站建设 项目流程

MarkItDown 入门指南:3 步把 PDF、Word、Excel 转成 Markdown

【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown

MarkItDown 是一个轻量级 Python 文档转换工具,能把 PDF、Word、Excel、PPT、HTML、音频等文件转成 Markdown。它专为 LLM 和文本分析流水线的预处理环节设计,输出保留标题、列表、表格、链接等原始结构。如果你正被"把各种办公文档手动复制、清理格式"这件事困扰,它能把这些工作压缩成一条命令。安装只需一条 pip 命令,也提供 Python API 方便写进自己的脚本。

先搞清楚:它到底能帮你做什么

MarkItDown 的定位很明确:它不是给人看的排版工具,而是把"杂乱文件"变成"模型能读的文字"的管道组件。官方支持的输入包括 PDF、PowerPoint、Word、Excel、EPUB、HTML、图片(EXIF 元数据与 OCR)、音频(元数据与语音转写)、CSV/JSON/XML 等文本格式、ZIP 压缩包,甚至 YouTube 链接。

适合两类人:一,需要把文档喂给 LLM 的开发者(RAG、问答、摘要场景);二,想把一堆混杂格式的存量材料统一成可检索文本的人。注意它的输出是"足够可读",而非高保真排版,别拿它当印刷级排版工具用。

5 分钟跑起来:安装与第一次使用

✅ 需要 Python 3.10 及以上。推荐安装方式一行搞定,[all]选项会装齐所有可选依赖:

pip install 'markitdown[all]'

然后跑通你的第一次转换:

markitdown report.pdf -o report.md

也支持管道输入:cat report.pdf | markitdown。想写进 Python 代码,API 同样简洁:

from markitdown import MarkItDown md = MarkItDown() result = md.convert("test.xlsx") print(result.text_content)

进阶玩法:参数与扩展机制

CLI 参数不多,常用的是这几个:

  • -o / --output:输出文件,不写则打印到控制台
  • -x / --extension:从 stdin 读取时提示扩展名,帮助识别格式
  • -d --use-docintel -e <endpoint>:改用 Azure Document Intelligence 做云端提取
  • --use-cu --cu-endpoint <endpoint>:改用 Azure Content Understanding,额外支持音频/视频
  • -p / --use-plugins:启用第三方插件;--list-plugins查看已装插件

插件默认关闭。比如官方 markitdown-ocr 插件能借 LLM Vision 提取 PDF/DOCX/PPTX/XLSX 中嵌入图片里的文字:

markitdown --list-plugins markitdown -p document_with_images.pdf

API 层面还可以让 LLM 直接给图片写描述(支持图片和 PPTX 文件):

from openai import OpenAI md = MarkItDown(llm_client=OpenAI(), llm_model="gpt-4o")

💡 提示:只用少数格式的话不必全装,pip install 'markitdown[pdf, docx, pptx]'可以只装需要的依赖。

这些场景真的用得上

RAG 知识库文档预处理:把知识库里的 PDF、Word 材料批量丢给工具,得到保留标题层级的 Markdown,再切块、嵌入。Markdown 对 token 友好,主流 LLM 天然"会说" Markdown,衔接非常自然。

混合办公文档批量归档:Excel 报表、PPT 大纲、Outlook 邮件(装[outlook]依赖)统统变成可全文检索的文本,不必再逐个打开文件翻找。

图片材料转文字:纯图片文件默认输出 EXIF 元数据;传入llm_clientllm_model后,模型会直接"描述"图片内容,输出文字段落:

避坑与常见问题

⚠️ 注意:转换结果缺内容时,先检查是否装了可选依赖。只装基础包不带[all],PDF、Excel 等转换器是不可用的。

Q:从 stdin 管道读入时识别不了格式? A:加-x pdf-m application/pdf提供格式提示,-c可用于提示字符编码。

Q:装了插件但行为没变化? A:插件默认关闭,转换时必须加-p / --use-plugins才会加载,先用--list-plugins确认它装上了。

Q:服务里直接转换用户上传的文件安全吗? A:官方安全章节明确提醒要先校验和限制输入;只处理本地文件时,建议调用convert_local()而不是功能更宽泛的convert()

MarkItDown 做的事情很单一——把各种文件变成模型能读的 Markdown,但把这件事做得足够省事且可扩展。完整参数说明、可选依赖清单和插件开发方式,见仓库内的 README.md 与示例插件。

【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询