
MarkItDown

2025.04.14
49215
Python文件转换Markdown 工具文本处理内容生成开发效率
MarkItDown 是一个轻量级的 Python 工具,用于将各种文件转换为 Markdown 格式,以便与大型语言模型(LLM)和相关的文本分析管道一起使用。它支持多种文件格式,包括 PDF、PowerPoint、Word、Excel、图像、音频、HTML、文本格式、ZIP 文件、YouTube 视频和 EPub 等。MarkItDown 专注于保留文档的重要结构和内容(如标题、列表、表格、链接等),适合用于文本分析工具,而非高保真的人类阅读文档转换。
View on GitHub
Overview
基本能力
产品定位
MarkItDown 是一个专注于将各种文件格式转换为 Markdown 的工具,旨在为 LLM 和文本分析工具提供结构化的输入。
核心功能
- 支持多种文件格式的转换(PDF、PowerPoint、Word、Excel、图像、音频等)。
- 保留文档结构(标题、列表、表格、链接等)。
- 提供命令行和 Python API 两种使用方式。
- 支持插件扩展功能。
- 可选依赖项,按需安装特定格式的支持。
- 支持 Azure Document Intelligence 进行文档转换。
- 支持 Docker 容器化运行。
适用场景
- 为 LLM 提供结构化的输入数据。
- 文本分析管道的预处理步骤。
- 快速将文档转换为易于处理的 Markdown 格式。
工具列表
- 命令行工具:直接通过命令行转换文件。
- Python API:通过编程方式集成到现有项目中。
- Docker 容器:方便在容器化环境中运行。
- 插件系统:支持第三方插件扩展功能。
常见问题解答
- 依赖项变更:从 0.0.1 到 0.1.0 版本有重大变更,需使用
pip install 'markitdown[all]'
安装所有依赖。 - 文件流处理:
convert_stream()
现在需要二进制文件流对象。 - 插件开发:需更新插件代码以适应新的接口变更。
使用教程
使用依赖
安装所有可选依赖项:
pip install 'markitdown[all]'
或按需安装特定格式的支持:
pip install markitdown[pdf, docx, pptx]
安装教程
从源代码安装:
git clone [email protected]:microsoft/markitdown.git
cd markitdown
pip install -e packages/markitdown[all]
调试方式
运行测试:
cd packages/markitdown
pip install hatch
hatch shell
hatch test
或使用 Devcontainer:
hatch test
运行预提交检查:
pre-commit run --all-files