MarkItDown 文件转 Markdown 完整上手指南:PDF、Office、音频一键转换

发布时间:2026/8/28 15:57:34
MarkItDown 文件转 Markdown 完整上手指南:PDF、Office、音频一键转换 MarkItDown 文件转 Markdown 完整上手指南PDF、Office、音频一键转换【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown办公文档、论文 PDF、PPT 汇报、Excel 表格……这些文件格式各异内容却常常需要被统一处理做文本分析、喂给大语言模型LLM、建 RAG 知识库。逐个手动复制粘贴显然不现实。MarkItDown就是一个轻量级的 Python 工具和命令行工具专门把 PDF、Word、Excel、PPT、图片、音频、HTML 等常见文件转换成Markdown并且尽量保留标题、列表、表格、链接这些文档结构。装上它一条命令就能把任意文档变成干净、结构化的 Markdown 文本——这正是 LLM 最吃得下的格式。三分钟跑通安装与第一条命令一条命令安装MarkItDown 要求Python 3.10 及以上推荐在虚拟环境里操作。它的大部分转换能力由可选依赖提供所以安装时建议直接带上[all]装全pip install markitdown[all]如果你更习惯从源码安装克隆仓库后再装核心包即可git clone https://gitcode.com/GitHub_Trending/ma/markitdown cd markitdown pip install -e packages/markitdown[all]第一条转换命令安装完成后命令行里直接执行下面这行就能把 PDF 转成 Markdown 并写入document.mdmarkitdown path-to-file.pdf -o document.md不想装太多依赖也可以按格式精准安装比如只装 PDF、Word、PPT 的支持pip install markitdown[pdf, docx, pptx]它能转什么格式清单与结构保留能力MarkItDown 内置的转换器覆盖了日常几乎会遇到的所有文档类型办公文档PDF、Word.docx、PowerPoint.pptx、Excel.xlsx / .xls、Outlook 邮件.msg电子表格与文本CSV、JSON、XML 等文本格式媒体文件图片提取 EXIF 元数据、音频提取元数据 语音转文字、YouTube 链接取字幕网页与电子书HTML、RSS、Wikipedia 页面、EPUB压缩包ZIP 文件会被逐个遍历转换内部内容它和老式文本提取工具最大的区别是转换时保留文档结构标题层级、列表、表格、链接都会映射到 Markdown 语法上。输出既适合人读也适合 LLM 消费——主流模型天然说Markdowntoken 效率也更高。如果你要做的只是高保真的文档排版转换它不是最佳选择但目标是文本分析和 LLM 流水线那它就是为此设计的。进阶玩法一让 LLM 帮你看懂图片和演示文稿默认情况下图片在输出里只会变成占位信息。如果你传入一个 LLM 客户端MarkItDown 会调用它给图片生成描述文字插进 Markdown 里目前支持图片和 PPTXfrom markitdown import MarkItDown from openai import OpenAI client OpenAI() md MarkItDown(llm_clientclient, llm_modelgpt-4o, llm_prompt用一句话描述这张图) result md.convert(example.jpg) print(result.text_content)上面这张图就是项目测试集里的 LLM 图像描述示例图里写着提到 5bda1dd6并说明方形和圆形的主色配上红色圆形和蓝色方形——转换时 LLM 会把视觉内容翻译成文字图片信息就不会在转文本时丢失。进阶玩法二插件、MCP 服务器与云端能力MarkItDown 的扩展能力有三条路按需取用第三方插件插件默认关闭用--use-plugins启用用--list-plugins查看已安装插件。比如社区的markitdown-ocr插件能让含图片的 PDF、DOCX、PPTX、XLSX 走 LLM 视觉通道把图中文字提取出来扫描件也会被自动渲染后整页 OCRfrom markitdown import MarkItDown from openai import OpenAI md MarkItDown(enable_pluginsTrue, llm_clientOpenAI(), llm_modelgpt-4o) result md.convert(document_with_images.pdf) print(result.text_content)想自己写插件仓库里的 packages/markitdown-sample-plugin/ 给了一个最小模板照抄三步即可实现一个DocumentConverter、导出register_converters()、在pyproject.toml里注册入口点。MCP 服务器让 AI 应用直接调用仓库里还有一个 packages/markitdown-mcp/ 包把 MarkItDown 包装成 MCPModel Context Protocol服务器只暴露一个convert_to_markdown(uri)工具支持 STDIO、Streamable HTTP 和 SSE 三种传输方式。装上后pip install markitdown-mcp运行markitdown-mcp即可你的 AI 助手就能直接读文件了pip install markitdown-mcp markitdown-mcp --http --host 127.0.0.1 --port 3001云端转换Azure Document Intelligence 与 Content Understanding本地转换搞不定的复杂版面、扫描件可以路由到云端。给MarkItDown()传入docintel_endpoint或cu_endpoint即可命令行对应-d -e endpoint或--use-cu --cu-endpoint endpoint。其中 Content Understanding 还支持按文件类型自动选择分析器、视频转换、以及把结构化字段如发票金额、日期以 YAML front matter 形式输出——适合做领域数据提取。实战场景批量转换喂给知识库最常见的落地场景是构建 RAG 知识库把docs/目录下的文档批量转成 Markdown 再入库。下面这个脚本遍历目录、逐个转换并落盘直接改目录路径就能跑import os from markitdown import MarkItDown md MarkItDown() input_dir, output_dir docs/, markdown_docs/ os.makedirs(output_dir, exist_okTrue) for filename in os.listdir(input_dir): if filename.endswith((.pdf, .docx, .xlsx, .pptx)): result md.convert(os.path.join(input_dir, filename)) out os.path.join(output_dir, os.path.splitext(filename)[0] .md) with open(out, w, encodingutf-8) as f: f.write(result.markdown)其他几个典型用法会议汇报把 PPT 转 Markdown 后交给 LLM 生成会议纪要要点图片里的关键图表还能靠 LLM 描述补全论文阅读像上图这类学术论文 PDF 转出来后标题层级和图表说明都保留了方便提取摘要和引用数据盘点Excel/CSV 批量转 Markdown 表格直接贴进 LLM 做汇总分析常见问题速查 同类工具对比转换报不支持的格式MarkItDown 靠扩展名 魔数magic number识别文件个别文件可能认错。命令行里可以用-x pdf扩展名提示、-m application/pdfMIME 提示手动纠偏。结果里的图片变成了截断的 base64默认会裁剪 data URI 以控制体积加--keep-data-uris可以保留完整内容。输入来自不可信来源怎么办官方安全提示很明确它和open()、requests.get()一样以当前进程权限访问资源。处理用户上传的文件时请先校验输入并优先调用更窄的 API——只读本地文件就用convert_local()而不是万能入口convert()。和同类工具怎么选对比维度MarkItDowntextract 等文本提取工具pandoc 文档转换器定位LLM 友好的 Markdown 转换纯文本提取文档间格式互转结构保留标题/列表/表格/链接基本丢失依赖输入输出格式对格式覆盖PDF、Office、图片、音频、网页、ZIP 等以文档类为主以文档类为主无音视频LLM 集成原生图像描述、MCP、OCR 插件需自行开发无扩展方式插件 云端Azure有限滤镜总结如果你的工作流需要把各种文件变成 LLM 能直接用的 MarkdownMarkItDown 目前是最省事的开源选择——安装一行、转换一条命令还留好了插件和云端两条扩展路。现在就可以挑一份手头的 PDF 试试markitdown 你的文件.pdf -o test.md打开test.md看看结构保留得如何。【免费下载链接】markitdownPython tool for converting files and office documents to Markdown.项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考