Appearance
使用 MarkItDown 将 PDF 转换为 Markdown
在 AI 时代,我们经常需要将长篇文档(如 PDF 报告、论文)喂给 ChatGPT 或 Claude 进行分析。然而,AI 对结构化文本(如 Markdown)的理解能力要远好于复杂的 PDF。
这就是 MarkItDown 发挥作用的地方。它是微软开源的一个极简工具,能够高效地将各种格式的文档(包括 PDF, Word, Excel)一键转换为纯净的 Markdown 格式。
为什么选择 MarkItDown?
- 极度轻量:没有繁琐的依赖,一个简单的 Python 包即可运行。
- 专为 AI 优化:生成的 Markdown 格式极其干净,去除了不必要的格式干扰,非常适合直接作为 Prompt 提供给大语言模型。
- 多格式支持:不仅仅是 PDF,还支持
.docx,.xlsx,.pptx, HTML 等常见格式。
环境准备
在使用之前,请确保你的电脑上安装了 Python 3.8+。
安装步骤
打开终端或命令行工具,输入以下命令安装 markitdown:
bash
pip install markitdown使用方法
命令行使用
最简单的使用方式是通过命令行。假设你有一个名为 report.pdf 的文件,只需运行:
bash
markitdown report.pdf > output.md这条命令会将 report.pdf 的内容提取并转换为 Markdown,然后保存到 output.md 文件中。
Python 代码中使用
如果你想在自己的脚本中自动化这个过程,可以这样写:
python
from markitdown import MarkItDown
# 初始化 MarkItDown
mid = MarkItDown()
# 转换 PDF
result = mid.convert("report.pdf")
# 输出转换后的 Markdown 文本
print(result.text_content)
# 将结果保存到文件
with open("output.md", "w", encoding="utf-8") as f:
f.write(result.text_content)结合大模型使用技巧
- 分片处理:如果 PDF 转换后的内容依然超过了 AI 模型的上下文窗口限制(虽然 Claude 3 有 200K 窗口,但为了精准度有时仍需分片),可以利用简单的 Python 脚本按章节对生成的 Markdown 进行拆分。
- 保留关键结构:MarkItDown 会尽可能保留原文档的标题层级(
#,##),在 Prompt 中,可以要求 AI 比如"基于以下二级标题的结构生成总结"。
有了 MarkItDown 这个神器,你以后再也不用头疼如何把几百页的 PDF 喂给 AI 啦!
