MarkItDown:微软开源文档转 Markdown 工具指南

📅 2026/7/18 20:28:51
MarkItDown:微软开源文档转 Markdown 工具指南
概述MarkItDown 是微软开源的一款 Python 工具专门用于将 PDF、Word、PPT、Excel、HTML、图片、音频等多种格式的文件转换为结构清晰的 Markdown 格式。它的设计初衷是为 LLM大语言模型应用准备高质量的文本数据非常适合需要将各种文档内容喂给 AI 的场景。️ 安装指南环境要求Python 3.10 或更高版本建议使用虚拟环境如 venv来避免依赖冲突0. 源码下载可选如果你想从源码安装或查看项目源码可以通过以下方式获取GitHub 仓库地址https://github.com/microsoft/markitdown下载方式使用 git 克隆推荐gitclone https://github.com/microsoft/markitdown.gitcdmarkitdown直接下载 ZIP访问上面的 GitHub 链接点击绿色的 “Code” 按钮选择 “Download ZIP”解压后进入项目目录安装方式1. 完整安装推荐安装所有功能支持全部格式pipinstallmarkitdown[all]2. 按需安装如果只需要特定格式的支持可以减少不必要的依赖包# 只安装 PDF、Word、PPT 的依赖pipinstallmarkitdown[pdf, docx, pptx]目前支持的可选依赖包括[all]、[pptx]、[docx]、[xlsx]、[html]、[image]、[audio]等。3. 验证安装安装完成后执行以下命令验证是否成功markitdown--versionmarkitdown--help如果显示版本信息和帮助信息说明安装成功。 基础使用MarkItDown 提供了两种主要的使用方式命令行 (CLI) 和 Python API。1. 命令行 (CLI) 方式基础转换直接指定文件路径输出会打印在屏幕上markitdown 你的文件.pdf保存为文件使用-o参数指定输出文件markitdown 你的文档.docx-o输出文件.md批量转换使用通配符一次性转换多个文件markitdown *.pdf-o./output_folder/2. Python API 方式这种方式更适合将 MarkItDown 集成到你的 Python 项目或脚本中。基础用法frommarkitdownimportMarkItDown mdMarkItDown()resultmd.convert(你的文件.pdf)print(result.text_content)# 打印转换后的 Markdown 内容集成 LLM 处理图片/音频MarkItDown 可以调用 LLM 来生成图片或音频的描述并嵌入到 Markdown 中frommarkitdownimportMarkItDownfromopenaiimportOpenAI# 初始化 OpenAI 客户端clientOpenAI()# 传入 LLM 客户端和模型mdMarkItDown(llm_clientclient,llm_modelgpt-4o)# 转换包含图片的文档会尝试生成图片描述resultmd.convert(含有图片的文档.pdf)print(result.text_content) 进阶用法高级配置在调用convert方法时可以通过参数进行更精细的控制# 示例尝试在转换时保留表格布局md_contentconvert(input.pdf,preserve_layoutTrue)⚠️ 重要提醒1. 输出质量MarkItDown 的输出主要是为机器LLM设计的可能不是人类阅读的最佳选择在转换复杂文档如包含复杂表格、公式的 PDF时可能会出现格式丢失或内容顺序错乱的情况2. 安全警告官方文档有明确的安全提示MarkItDown 在执行转换时会拥有当前进程的权限。在处理不受信任的输入时请务必进行清理和校验。 支持格式MarkItDown 支持非常广泛的文件格式类别支持格式办公文档PDF, PowerPoint (.pptx), Word (.docx), Excel (.xlsx)富文本文档HTML, EPub图片常见格式如 JPG, PNG 等可提取 EXIF 信息和进行 OCR音频常见格式如 MP3, WAV 等可提取 EXIF 信息和进行语音转录纯文本CSV, JSON, XML, TXT其他ZIP 文件会遍历其内容、YouTube 视频链接等总结MarkItDown 是一个非常实用的工具尤其适合需要将各种格式文档内容转换为 Markdown 格式的场景。通过简单的安装和配置可以快速上手并集成到我们的工作流中。核心优势微软官方开源持续维护支持格式广泛可集成 LLM 进行智能内容处理提供 CLI 和 Python API 两种使用方式适用场景为 AI 应用准备训练数据文档格式转换和整理批量处理多种格式的文档集成到自动化工作流中按照上面的步骤你可以快速开始使用 MarkItDown 来提升文档处理效率。