乐于分享
好东西不私藏

markitdown:微软开源文档转换器,PDF/Word/PPT 一键转 Markdown

markitdown:微软开源文档转换器,PDF/Word/PPT 一键转 Markdown

markitdown:微软开源文档转换器,PDF/Word/Excel/PPT 一键转 Markdown

项目简介

想把 PDF 报告转成 Markdown 便于 AI 处理?想把 Word 文档导入知识库?想把 Excel 数据用于数据分析?

每次都要手动复制粘贴,格式还容易乱。专业的文档解析工具要么太贵,要么部署复杂。

markitdown 是微软官方开源的文档转换工具,支持将 PDF、Word、Excel、PPT、图片等格式一键转换为干净的 Markdown 或纯文本。它不仅能做格式转换,还能识别文档结构(标题、列表、表格),保留原始的层级关系。

截至 2026 年 4 月,markitdown 在 GitHub 上已积累 108,000+ Star,日增 2,800+,是文档处理领域增长最快的开源工具之一。

核心功能

1. 支持全格式文档

# PDF 转 Markdownmarkitdown document.pdf -o output.md# Word 转 Markdownmarkitdown document.docx -o output.md# Excel 转 Markdown(保留表格)markitdown spreadsheet.xlsx -o output.md# PPT 转 Markdown(提取每页文本)markitdown presentation.pptx -o output.md# 图片转文本(OCR)markitdown image.png -o output.md

2. 保留文档结构

markitdown 不只是提取文字,还保留原始结构:

# 第一章:项目概述## 1.1 背景本文档描述了 xxx 项目的技术方案。| 序号 | 模块 | 负责人 ||------|------|--------|| 1 | 前端 | 张三 || 2 | 后端 | 李四 |> 注意事项:高亮部分需要重点关注。

3. 内置 OCR 功能

图片中的文字也能识别:

# 自动检测并 OCR 图片markitdown scanned_document.pdf --ocr -o output.md

4. Python SDK

from markitdown import MarkItDownconverter = MarkItDown()# PDF 转 Markdownresult = converter.convert("report.pdf")print(result.text_content)# Word 转 Markdownresult = converter.convert("proposal.docx")print(result.text_content)

5. API 服务模式

from markitdown import MarkItDownServerimport uvicornserver = MarkItDownServer(host="0.0.0.0", port=8000)uvicorn.run(server.app)# HTTP API# POST /convert# Body: multipart/form-data (file)# Response: {"markdown": "..."}

适用场景

RAG 数据预处理:将 PDF/Word 文档转为 Markdown 后,用于 RAG 知识库的向量化存储。

AI 数据提取:批量将 PDF 报告转为结构化文本,输入大模型做分析、摘要、问答。

知识库建设:将历史文档批量导入 Obsidian、Notion、Onyx 等知识管理工具。

数据分析前处理:将 Excel 表格转 Markdown,便于后续 SQL 分析或 Python 处理。

无障碍处理:OCR 识别扫描件图片,让纸质文档可搜索、可编辑。

快速开始

安装

pip install markitdown# 或使用 Dockerdocker pull msoedoc/markitdown

CLI 基础用法

# 单文件转换markitdown input.pdf -o output.md# 批量转换for f in *.pdf; do markitdown "$f" -o "${f%.pdf}.md"; done# 指定输出目录markitdown docs/ -o markdown_output/

Python 进阶用法

from markitdown import MarkItDownconverter = MarkItDown()# 处理带密码的 PDFresult = converter.convert(    "secure.pdf",    password="user_password"  # PDF 密码)# 只提取特定页面result = converter.convert(    "long_report.pdf",    pages="1-10,20"  # 第 1-10 页和第 20 页)# 自定义表格格式result = converter.convert(    "data.xlsx",    table_format="github_markdown"  # 表格格式)

Docker 用法

# 运行容器docker run -v $(pwd):/data msoedoc/markitdown /data/input.pdf -o /data/output.md# REST APIdocker run -p 8000:8000 msoedoc/markitdown serve

为什么值得关注

108,000 Star 说明什么:文档格式转换是个”刚需”场景,微软选择开源 markitdown,把内部用的高质量文档解析能力释放出来。格式保留做得细致,不是简单的文字提取,社区自然买单。

RAG 时代的刚需:RAG 的效果取决于文档质量。markitdown 把 PDF 转成结构完整的 Markdown,比直接用 PyMuPDF 提取的乱码文字强太多。

微软出品,质量有保证:文档格式解析是个坑——PDF 是明文还是图片、内部链接、特殊字体、加密文档,每种情况都要处理。微软有成熟的 Office 文档解析积累,markitdown 的稳定性不是野路子能比的。

开源可自托管:企业数据不上云,markitdown 可以完全本地部署,隐私合规无忧。

开源地址

GitHub:[https://github.com/microsoft/markitdown](https://github.com/microsoft/markitdown)

官方文档:[https://microsoft.github.io/markitdown](https://microsoft.github.io/markitdown)

Docker Hub:[https://hub.docker.com/r/msoedoc/markitdown](https://hub.docker.com/r/msoedoc/markitdown)

开源协议:MIT License

联系我

声明:本文内容基于官方资料整理,版权归原项目所有。如需商用或二次开发,请务必遵守项目开源协议。欢迎转发分享,共同支持开源生态!

RuoYi AI:开源企业级 AI 应用平台
PaddleOCR:百度开源的 OCR 神器
Ollama:一行命令,本地跑大模型
Polars:比 Pandas 快 10 倍的数据处理库
LangGraph:用图结构构建 AI Agent
O2OA:国产开源OA系统
Dify.AI:零代码构建AI应用