MarkItDown
MarkItDown 是轻量级 Python 工具,可将 PDF、Office 文档、图片、音频、HTML、文本类格式、ZIP、YouTube URL 和 EPub 转换为 Markdown,并尽量保留标题、列表、表格和链接等结构,面向 LLM 与文本分析流程。
访问 microsoft/markitdown项目简介
MarkItDown 是轻量级 Python 工具,用于将多种文件转换为 Markdown,面向 LLM 及相关文本分析流程。它重点保留标题、列表、表格和链接等重要文档结构与内容;输出更适合文本分析工具,而非面向人工阅读的高保真文档转换。
核心功能
- 支持从 PDF、PowerPoint、Word、Excel、图片、音频、HTML、CSV、JSON、XML 等文本类格式、ZIP 文件、YouTube URL 和 EPub 进行转换。
- 在 Markdown 输出中尽量保留标题、列表、表格和链接等重要文档结构与内容。
- 提供命令行界面和 Python API,并可按格式安装可选依赖。
- 支持第三方插件,插件默认禁用,可扩展转换能力。
- 可选集成 Azure Content Understanding 和 Azure Document Intelligence,用于更高质量的云端转换和结构化字段提取。
- 可使用 LLM 为 PPTX 和图片文件生成图像描述。
适用场景
- 为基于 LLM 的文本分析和 RAG 工作流准备 Markdown 格式的文档与媒体内容。
- 将办公文档、PDF 和网页内容转换为结构化文本。
- 从图片、音频及其他受支持格式中提取文本和元数据,供下游分析使用。
- 将文档转换集成到 Python 应用或命令行工作流中。
快速开始
- 需要 Python 3.10 至 3.14;建议使用虚拟环境。
- 可通过 pip install 'markitdown[all]' 安装,也可按需安装 pdf、docx、pptx 等格式对应的可选依赖。
- 在命令行中运行 markitdown path-to-file.pdf 转换文件,可用 -o 指定输出文件,也可将内容通过管道传给 markitdown。
- 在 Python 中创建 MarkItDown,调用 convert 处理文件,并输出 result.markdown。
部署与要求
- 需要 Python 3.10 至 3.14。
- 支持 Docker 部署:构建镜像后,将输入重定向到容器运行。
- 可选的 Azure Document Intelligence 转换需要端点和凭据,可使用 AZURE_API_KEY 或 DefaultAzureCredential。
- 可选的 Azure Content Understanding 转换需要 Content Understanding 端点。
采用前须知
- 许可证:MIT。在使用、修改或分发项目前,请确认其具体条款。