微软开源,办公文档转Markdown
事情是这样的
做AI应用的人都知道一个痛点:想让LLM理解你的文档,得先把各种格式转成它能吃的文本。PDF、Word、Excel、PPT,每种格式都有自己的坑。
最近我在整理一批文档,想统一转成Markdown方便存档和检索。试了好几个工具,要么装一堆依赖,要么转出来的格式乱七八糟。
后来发现了微软开源的markitdown,一个pip命令装好,20个文件丢进去,几秒钟全部转完,效果还不错。
今天分享给大家。
安装
一行命令搞定:
pip install markitdown没有多余的依赖,装完直接用。
如果你需要解析PDF里的扫描件或者Office文档的复杂格式,可以装可选依赖:
pip install 'markitdown[all]'我测了哪些文件
我把手头能找到的格式都试了一遍:
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/done3. 在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
夜雨聆风