大数跨境

184K+ Star! markitdown:将PDF、Word、图片等各类文件转换为Markdown

184K+ Star! markitdown:将PDF、Word、图片等各类文件转换为Markdown AIGC创想者
2026-09-15
3
导读:markitdown简介AI/MLMarkItDown 是微软开源的轻量级 Python 工具,专门用于

markitdown简介

AI/ML

MarkItDown 是微软开源的轻量级 Python 工具,专门用于将各种格式的文件转换为 Markdown 文本。它支持 PDF、Word、Excel、PowerPoint、图片(OCR)、音频(语音转录)、HTML、CSV、ZIP、YouTube 链接等十余种格式,核心目标是为大语言模型(LLM)和文本分析流水线提供结构化、高信息密度的输入数据。

与传统的文档转换工具不同,MarkItDown 保留文档的核心结构(如标题、列表、表格、链接),同时利用 Markdown 对 LLM 友好的特性来降低 Token 消耗。它还支持通过插件扩展新格式,并能无缝集成 Azure Document Intelligence、Azure Content Understanding 以及 OpenAI 视觉模型来处理复杂文档和多媒体内容。

亮点特性

01全格式覆盖

单一库即可处理 PDF、Office 全家桶、图片 OCR、音频转录、HTML、ZIP 甚至 YouTube 链接,极大简化了多模态数据预处理流程。

02专为 LLM 优化

输出的 Markdown 保留了标题、表格等关键结构,且相比纯文本或 HTML 具有极高的 Token 效率,非常适合直接喂给大模型。

03灵活的扩展与云端集成

支持第三方插件机制扩展新格式,并深度集成了 Azure Document Intelligence 和 Content Understanding,可应对复杂的扫描件和多模态专业提取需求。

使用场景

场景 1构建 RAG(检索增强生成)系统时,将企业内部的 PDF、Word、PPT 等非结构化文档批量转换为 Markdown,以便进行高质量的文本分块和向量化嵌入。

场景 2开发 AI Agent 或数据分析助手时,将用户上传的 Excel 报表、CSV 数据文件或 ZIP 压缩包快速解析为结构化文本,供 LLM 直接理解和处理。

场景 3自动化内容处理流水线中,提取 YouTube 视频字幕、音频会议录音转录文本或图片中的文字,统一转化为 Markdown 格式进行归档或二次分析。

使用环境

编程语言
Python (uv 或 pip)

快速上手

安装

建议使用虚拟环境,并通过 pip 安装包含所有可选依赖的版本:

python -m venv .venv
source .venv/bin/activate
pip install 'markitdown[all]'

如果只需要特定格式的支持,可以按需安装,例如仅支持 PDF 和 Word:

pip install 'markitdown[pdf, docx]'

命令行使用

直接将文件转换为 Markdown 并输出到终端或文件:

# 输出到终端
markitdown report.pdf

# 输出到指定文件
markitdown report.pdf -o report.md

# 通过管道输入
cat data.xlsx | markitdown

Python API 基本用法

在代码中实例化 MarkItDown 对象并调用 convert 方法:

from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("financial_report.xlsx")
print(result.markdown)

结合 LLM 处理图片

传入 OpenAI 客户端,利用视觉模型为图片生成 Markdown 描述:

from markitdown import MarkItDown
from openai import OpenAI

client = OpenAI(max_retries=5)
md = MarkItDown(llm_client=client, llm_model="gpt-4o")
result = md.convert("diagram.jpg")
print(result.markdown)

替代方案

对比 1Unstructured

功能更全面的非结构化数据 ETL 框架,支持更复杂的清洗和分块策略,但相对更重,依赖更多;MarkItDown 则更轻量,专注“转 Markdown”这一件事。

对比 2textract

老牌的文本提取库,支持多种格式,但主要输出纯文本,无法像 MarkItDown 一样保留表格、列表等 Markdown 结构信息。

相关资源

项目地址github.com/microsoft/markitdown

官网pypi.org/project/markitdown

文档learn.microsoft.com/en-us/azure/ai-services/document-intelligence/how-to-guides/create-document-intelligence-resource

欢迎关注我,持续获取更多内容,感谢&在看~

【声明】内容源于网络
0
0
AIGC创想者
拥抱科技创新,拥抱AI,探索无限可能!
内容 843
粉丝 0
AIGC创想者 拥抱科技创新,拥抱AI,探索无限可能!
总阅读21.4k
粉丝0
内容843