MarkItDown

MarkItDown

site icon
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

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。