markitdown 5 分钟上手:把任意办公文件丢进命令行,出来就是 Markdown
还在手动复制 PDF 文字?还在用 Word 的「另存为 HTML」凑合?微软开源的这个工具,能把 PDF、Word、Excel、PPT 一次性转成干净的 Markdown,一行命令搞定。
Reading System
还在手动复制 PDF 文字?还在用 Word 的「另存为 HTML」凑合?微软开源的这个工具,能把 PDF、Word、Excel、PPT 一次性转成干净的 Markdown,一行命令搞定。
还在手动复制 PDF 文字?还在用 Word 的"另存为 HTML"凑合?微软开源的这个工具,能把 PDF、Word、Excel、PPT 一次性转成干净的 Markdown,一行命令搞定。
写技术文档的时候,最烦的不是写本身,而是把已有的内容迁移过来。
这些场景的共同点是:原始文件不是 Markdown,而你需要 Markdown。
常见解法:
markitdown 是微软开源的文件转 Markdown 工具,以上问题全干掉。
markitdown 本质是一个格式桥接器:
PDF / Word / Excel / PPT / HTML / 图片(PDF) → markitdown → Markdown它底层调用了多种解析库(pdfminer、python-docx、openpyxl 等),输出统一的 Markdown 格式,表格用 GFM 语法,代码块保留语言标识,标题层级对应原始文档结构。
pip install markitdown或升级到最新版:
pip install --upgrade markitdown验证安装成功:
markitdown --version
# 输出类似:markitdown version 1.x.x把一个 PDF 转成 Markdown:
markitdown 技术规范.pdf -o 技术规范.md把 Word 文档转成 Markdown:
markitdown 产品需求.docx -o 产品需求.md支持的输入格式:pdf、docx、doc、xlsx、xls、pptx、html、txt
想把一个目录里所有文件都转成 Markdown:
# 递归转换 input/ 目录下所有支持的文件
markitdown ./文档库/ --recursive -o ./文档库-md/输出目录不存在时会自动创建,已有的 .md 文件不会覆盖(加 --force 强制覆盖)。
有些场景你只需要纯文本,不要嵌入的图片:
markitdown 汇报.pdf --no-images -o 汇报纯文字.md图片会以 URL 形式保留在 Markdown 里()。
如果你想在自动化流程里调用 markitdown,用 Python API:
from markitdown import MarkItDown
# 初始化转换器
converter = MarkItDown()
# 转换单个文件
result = converter.convert("技术规范.pdf")
print(result.text_content) # 输出 Markdown 字符串
# 转换后写入文件
with open("技术规范.md", "w", encoding="utf-8") as f:
f.write(result.text_content)批量处理一个文件夹:
import os
from markitdown import MarkItDown
converter = MarkItDown()
input_dir = "./文档库"
output_dir = "./文档库-md"
os.makedirs(output_dir, exist_ok=True)
for filename in os.listdir(input_dir):
if filename.endswith(('.pdf', '.docx', '.xlsx')):
input_path = os.path.join(input_dir, filename)
result = converter.convert(input_path)
output_path = os.path.join(output_dir, filename.rsplit('.', 1)[0] + '.md')
with open(output_path, "w", encoding="utf-8") as f:
f.write(result.text_content)
print(f"✅ 已转换:{filename}")转换失败或者想看处理过程:
markitdown 文档.pdf --verbose -o 输出.md以一份含表格和代码块的 PDF 为例:
| 维度 | 手动复制 | markitdown | |------|----------|------------| | 操作时间 | 5-10 分钟 | 3 秒 | | 表格保留 | ❌ 要重新画 | ✅ GFM 表格 | | 代码块 | ❌ 纯文本 | ✅ 有语言标识 | | 标题层级 | ❌ 全是正文 | ✅ # / ## 层级对应 | | 图片处理 | ❌ 截图另存 | ✅ 自动嵌入路径 |
适用:
局限:
有问题或想看其他工具的实测,可以在评论区留言~