乐于分享
好东西不私藏

微软开源,办公文档转Markdown

微软开源,办公文档转Markdown

微软开源,办公文档转Markdown

事情是这样的

做AI应用的人都知道一个痛点:想让LLM理解你的文档,得先把各种格式转成它能吃的文本。PDF、Word、Excel、PPT,每种格式都有自己的坑。

最近我在整理一批文档,想统一转成Markdown方便存档和检索。试了好几个工具,要么装一堆依赖,要么转出来的格式乱七八糟。

后来发现了微软开源的markitdown,一个pip命令装好,20个文件丢进去,几秒钟全部转完,效果还不错。

今天分享给大家。

安装

一行命令搞定:

pip install markitdown

没有多余的依赖,装完直接用。

如果你需要解析PDF里的扫描件或者Office文档的复杂格式,可以装可选依赖:

pip install 'markitdown[all]'

我测了哪些文件

我把手头能找到的格式都试了一遍:

格式
文件
结果
CSV
sales.csv
✅ 完美转成Markdown表格
JSON
config.json
✅ 保持原始结构
XML
data.xml
✅ 清晰解析
HTML
page.html
✅ 保留标题和段落
Word
report.docx
✅ 标题/列表/表格都保留
Excel
data.xlsx
✅ 自动转成Markdown表格
PPT
slides.pptx
✅ 每页提取文字和图片
PDF
document.pdf
✅ 文字内容完整提取
MP3
music.mp3
✅ 读取音频元数据
WAV
audio.wav
✅ 读取音频元数据
JPG
photo.jpg
✅ 提取EXIF信息
ZIP
archive.zip
✅ 列出压缩包内容

20个文件,总耗时不到10秒。

效果展示

Excel转Markdown,自动对齐表格:

| 姓名 | 部门 | 月薪 ||------|------|------|| 张三 | 技术部 | 15000 || 李四 | 市场部 | 12000 |

PDF转Markdown,保留标题层级:

# 项目报告## 一、项目背景本项目旨在...## 二、实施计划### 2.1 第一阶段

PPT转Markdown,每页自动分段,图片保存到images文件夹。

几个实用技巧

1. 批量转换整个文件夹

markitdown ./my_files/ -o output/

2. 配合Shell批量处理

for f in *.pdf; do  markitdown "$f" -o ./converted/done

3. 在Python代码里调用

from markitdown import MarkItDownmd = MarkItDown()result = md.convert("report.docx")print(result.text_content)

需要注意的地方

扫描版PDF:纯图片的PDF需要用pip install 'markitdown[all]'装OCR依赖,否则只能提取元数据。

复杂表格:如果PDF里的表格特别复杂,转出来可能会有点乱。我测试了一个有合并单元格的表格,转出来格式不太对,需要手动调整。

音频/图片:这类文件markitdown主要是读取元数据(文件名、大小、格式等),不会把音频转成文字。

和其他工具比

我之前用过几个类似的工具,对比下来:

Docling:IBM出品,功能更强大,支持OCR和复杂表格,但安装要装一堆依赖,速度慢。

Pandoc:老牌格式转换工具,支持格式多,但不是专门为Markdown设计的,转出来的格式需要调整。

Unstructured:支持格式多,但配置复杂,适合企业级场景。

markitdown的优势就是简单、快速、够用。如果你只是想把文档转成Markdown,它是最省事的选择。

谁适合用

  • • 写技术文档的:把现有的Word/PDF文档批量转成Markdown
  • • 做知识库的:统一文档格式,方便检索
  • • 写博客的:把之前的文档内容迁移过来
  • • 做数据处理的:把Excel/CSV转成Markdown表格方便展示

最后

markitdown是微软开源的工具,MIT协议,可以商用。

GitHub地址:https://github.com/microsoft/markitdown

如果你也有批量转Markdown的需求,可以试试。


本文为原创内容,首发于公众号「新一技术宅」,转载请注明出处。

数据来源:GitHub - microsoft/markitdown、PyPI - markitdown

相关学习资料