🔥GitHub 11万星!微软开源神器MarkItDown:PDF/Word/PPT/图片/音频一键转干净Markdown

0    126    1

Tags:

👉 本文共约2534个字,系统预计阅读时间或需10分钟。

🔥GitHub 11万星!微软开源神器MarkItDown:PDF/Word/PPT/图片/音频一键转干净Markdown

还在为文档格式头疼?
PDF复制乱码、Word表格错位、PPT图文乱飞、图片音频没法喂给AI?
今天给大家挖到微软官方开源的神器——MarkItDown,一行命令搞定所有格式,输出大模型最爱、结构超干净的Markdown!

MarkItDown 是一款轻量级 Python 工具,用于将各种文件转换为 Markdown 格式,以便在 LLM 及相关文本分析流程中使用。为此,它与 textract 最为相似,但其侧重点在于将重要的文档结构和内容(包括:标题、列表、表格、链接等)保留为 Markdown 格式。虽然输出结果通常相当美观且易于人类阅读,但其本意是供文本分析工具使用——对于需要高保真度转换以供人类阅读的场景,它可能并非最佳选择。

这款微软开源工具凭实力在GitHub狂揽11万+Star,靠的就是简单、稳定、真解决痛点!告别格式内耗,把时间留给内容本身~

项目地址:https://github.com/microsoft/markitdown

✨ 它到底有多强?

MarkItDown是微软推出的轻量级Python工具,专门把各类文件转成LLM友好型Markdown,不是生硬抽文本,而是完整保留标题、列表、表格、链接、结构层级,AI秒读、省Token、人类也能直接看!

📁 支持格式多到离谱(覆盖99%办公场景)

  • Office全家桶:Word、PPT、Excel(新旧格式通吃)
  • 文档:PDF(含扫描件OCR)、EPUB
  • 多媒体:图片(OCR+元数据)、音频(语音转写)
  • 网页/数据:HTML、CSV、JSON、XML
  • 黑科技:ZIP自动解压批量转YouTube链接扒字幕

🎯 核心优势,吊打同类工具

  1. 结构不死板:标题、列表、表格、链接原样保留,不是纯文本堆砌
  2. AI天生适配:Markdown是大模型“母语”,解析快、省Token、效果稳
  3. 轻量无负担:Python 3.10+即可跑,无需复杂环境
  4. 扩展拉满:支持插件、Azure文档智能、对接LLM做图像描述

🚀 5分钟上手,零门槛教程

1. 安装(推荐全功能版)

pip install 'markitdown[all]'

不想装全量?按需选组件:

pip install 'markitdown[pdf,docx,pptx]'

支持PDF、Word、PPT精准组合,更轻更快!

目前,可用的可选依赖项如下:

  • [all] 安装所有可选依赖项

  • [pptx] 安装 PowerPoint 文件的依赖项

  • [docx] 安装 Word 文件的依赖项

  • [xlsx] 安装 Excel 文件的依赖项

  • [xls] 安装旧版 Excel 文件的依赖项

  • [pdf] 安装 PDF 文件的依赖项

  • [outlook] 安装 Outlook 邮件的依赖项

  • [az-doc-intel] 安装 Azure Document Intelligence 的依赖项

  • [audio-transcription] 安装用于 wav 和 mp3 文件音频转录的依赖项

  • [youtube-transcription] 安装用于获取 YouTube 视频转录的依赖项

2. 命令行一键转换(小白首选)

# 基础用法:文件转MD
markitdown 报告.pdf -o 输出.md

# 管道流式处理
cat 报告.pdf | markitdown

# 启用插件
markitdown --use-plugins 报告.pdf

一行命令,告别复制粘贴、告别格式崩溃!

3. Python代码调用(开发者/批量处理)

from markitdown import MarkItDown

md = MarkItDown()
result = md.convert("数据.xlsx")
# 打印转换后的Markdown内容
print(result.text_content)

三行代码嵌入项目,批量处理、RAG预处理随便玩!

4. 进阶玩法(企业/高阶用户)

  • 对接Azure Document Intelligence:高精度解析复杂PDF
  • 接入GPT-4o:自动生成图片描述,适配图文PPT
  • Docker部署:环境统一、一键运行

5.Python API

Python 中的基本用法:

from markitdown import MarkItDown

md = MarkItDown(enable_plugins=False) # Set to True to enable plugins
result = md.convert("test.xlsx")
print(result.text_content)

Python 中的 Document Intelligence 转换:

from markitdown import MarkItDown

md = MarkItDown(docintel_endpoint="<document_intelligence_endpoint>")
result = md.convert("test.pdf")
print(result.text_content)

要使用大型语言模型生成图像描述(目前仅适用于 pptx 和图像文件),请提供 llm_clientllm_model

from markitdown import MarkItDown
from openai import OpenAI

client = OpenAI()
md = MarkItDown(llm_client=client, llm_model="gpt-4o", llm_prompt="optional custom prompt")
result = md.convert("example.jpg")
print(result.text_content)

6.Docker 支持

docker build -t markitdown:latest .
docker run --rm -i markitdown:latest < ~/your-file.pdf > output.md

🎯 适合谁用?

  • 职场人:快速整理资料、做AI总结、统一文档格式
  • 开发者:搭建RAG知识库、AI文档预处理
  • 学生/研究者:课件转写、文献整理、音频转笔记

一句话:只要你要喂AI、做笔记、清格式,MarkItDown都能一键封神!

参考

https://github.com/microsoft/markitdown

https://mp.weixin.qq.com/s/O6kEJS8mWgu9S1OZKvT6Ng

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复

以 小麦苗 的身份登录。 编辑您的个人资料注销? 必填项已用 * 标注