微软开源了一个MarkItDown,专门把各种文件转成Markdown,给AI喂资料不用再手动复制粘贴

工具推荐 1780284890更新

0

最近,我在处理一堆乱七八糟的文件,PDF、Word、Excel、图片、PPT,什么都有。本想着老老实实用传统方法,一个一个手动转,结果一搜,发现微软居然开源了一个专门干这事的工具。

叫MarkItDown。

它做的事情很简单,就是一个:把各种格式的文件,转换成Markdown。

你可能会问,为什么要转Markdown?

好问题。

Markdown这个东西,我们平时写文章、做笔记的时候经常用到。它就是一种纯文本格式,语法特别简单,用几个符号就能表示标题、加粗、链接、表格什么的。

但你可能不知道的是,主流的大语言模型,其实是原生支持Markdown的

什么意思呢?就是这些模型训练的时候,接触了大量的Markdown文本,所以它们特别懂这种格式。你给AI一段Markdown,它能完美理解里面的结构——这是标题、这是列表、这是表格。

相比之下,如果你直接把一个Word文档或者PDF丢给AI,AI得先费很大力气去理解里面的格式和排版。

所以,如果你想用AI来分析或者处理你的文档,先把文档转成Markdown,这一步非常关键。

MarkItDown能转哪些格式?

说实话,它支持的格式,多得我有点意外。

先说办公文件:PDF、Word(DOCX)、Excel(XLSX/XLS)、PPT(PPTX),这些日常最常见的格式,全都支持。

然后是:图片和音频。图片可以提取EXIF元数据,如果安装markitdown-ocr插件,还能用OCR识别图片里的文字。音频文件可以提取元数据,如果加上audio-transcription功能,还能转录语音。

还有一些你可能没想到的:HTML网页、CSV表格、JSON、XML、EPub电子书、Outlook邮件消息,甚至YouTube视频的字幕都能转。

ZIP压缩包也行,它会自动解压然后逐个转换里面的文件。

总共支持的转换器,我数了一下,有将近二十个

这玩意基本上覆盖了你能想到的所有常见文件格式了。

用法超级简单。

如果你会Python,三行代码就搞定:

from markitdown import MarkItDownmd = MarkItDown()result = md.convert("你的文件.pdf")print(result.text_content)

如果不想写代码,用命令行也行:

markitdown 你的文件.pdf -o 输出.md

或者你想偷懒,直接用管道符传也行:

cat 你的文件.pdf | markitdown

就这么简单。

MarkItDown还支持插件系统,可以扩展更多功能。

比如有个markitdown-ocr插件,可以给PDF和图片加上OCR识别。用法也不复杂,装好插件之后,传一个OpenAI的客户端进去就行了:

md = MarkItDown(    enable_plugins=True,    llm_client=OpenAI(),    llm_model="gpt-5.5",)

它还支持Azure Document IntelligenceAzure Content Understanding,如果你有Azure的账号,可以用云端的AI来提取文档内容,质量会更高一些。

这个项目适合谁用?

我自己想了想,这几个场景特别适合:

第一个,给AI喂资料。 很多人喜欢用AI来总结文档、分析报告,这时候把PDF转成Markdown再丢给AI,效果会比直接丢PDF好很多。

第二个,批量处理文件。 假设你有100个Word文档要转成纯文本,手点能点到你怀疑人生。用MarkItDown写个脚本,一键搞定。

第三个,做笔记整理。 很多人喜欢把网页文章、邮件、Office文档都转成Markdown格式来统一管理,用它就特别方便。

写在最后。

说实话,这类文件转换工具其实挺多的,但是像MarkItDown这样,专门针对Markdown输出AI友好优化的,并不多见。

再加上是微软官方出品,背书还是比较靠谱的。

项目地址我放这了:https://github.com/microsoft/markitdown

感兴趣的朋友可以去看看,文档写得挺详细的,安装也方便,用pip就能装。

对了,如果你用的是Windows,记得先装个Python。这个项目要求Python 3.10以上。

就这些,希望对大家有帮助。