PDF 转换为 Markdown 的 5 大工具
有时候写技术文档、整理资料或者做项目说明的时候,我们都遇到过那种“拿到一个大 PDF 文件,却要提取文字、代码块、图片”的尴尬时刻。复制又乱七八糟,格式全跑掉,特别是 Markdown 文件,缩进一错就全崩。那今天我就给大家说说——几个我自己常用的、能把 PDF 转成 Markdown 的好用工具。
1. pdf2md(命令行神器)
这个是我最先用的一个小工具,开源、轻量、用 Python 写的。你要是经常在命令行里混,绝对是首选。安装也特别简单:
pip install pdf2md
用法呢,一行命令就搞定:
pdf2md input.pdf -o output.md
它的优点是——保留段落结构特别好,代码块、标题、粗体这些 Markdown 样式能识别得挺准。就是表格识别还不太稳,有时候需要自己微调一下。
我一般在整理技术报告的时候用它,比如一些算法说明的 PDF,转换完直接丢到 VS Code 里改几下就能提交了。
2. pdfplumber + 自己写点 Python
这个其实算是“DIY 派”的做法。pdfplumber 是一个能解析 PDF 结构的 Python 库,特别适合处理带有表格、图表的文件。你可以自定义提取逻辑,然后按 Markdown 格式输出。
比如:
import pdfplumberwith pdfplumber.open("sample.pdf") as pdf:
text = ""
for page in pdf.pages:
text += page.extract_text() + "\n"
with open("output.md", "w", encoding="utf-8") as f:
f.write(text)
再配合 re 正则稍微处理下标题、列表、代码块,效果就挺不错的。这个方式灵活,适合对结果要求高的人。就是第一次写可能麻烦点,但改完脚本就能一直复用。
3. Pandoc(万能格式转换器)
Pandoc 真的是学术圈和程序员的“瑞士军刀”。不光能 PDF 转 Markdown,还能 Markdown 转 Word、LaTeX、HTML……啥都能转。
直接命令行一行:
pandoc input.pdf -o output.md
不过说实话,它处理 PDF 时的效果不总是完美。原因是 PDF 本身不是结构化的文本格式,Pandoc 是靠解析布局来推断结构。所以有时候标题层级会错、段落合并不太准。
我一般在需要快速批量处理大量 PDF 时才用它,比如写文档迁移的时候,先批量转 Markdown,再手动整理格式。
4. ChatGPT + OCR 方案(智能提取)
这个思路就比较现代了。有些扫描版 PDF(纯图片的那种),上面几个工具都没办法直接提取文字,这时候就得用 OCR 识别。可以先用 pytesseract 把图片识别成文字,再让 GPT 模型帮忙整理成 Markdown 格式。
简单示例:
from PIL import Image
import pytesseracttext = pytesseract.image_to_string(Image.open("page1.png"), lang="chi_sim")
print(text)
识别完的文本可以丢给 ChatGPT(或者 OpenAI 的 API),让它“格式化为 Markdown”,比如保留标题、代码块、列表结构。效果其实相当不错,尤其适合旧文档归档。
5. Typora + CopyPaste Magic
最后一个其实是“笨办法”,但在一些情况下还挺管用的。就是用 Typora 打开一个空白文档,把 PDF 的内容直接复制进去——它会自动识别 Markdown 样式,比如加粗、标题、列表。尤其是格式比较规整的技术文档,效果会超出预期。
缺点也明显:批量处理不现实,图片、表格容易丢。不过要是偶尔转个 10 页以内的 PDF,这方法真的是最省事。
其实 PDF 转 Markdown 这事儿,没啥完美方案。PDF 天生不适合被“反解析”,所以所有的工具都是在“猜”。如果只是要提取文字、保留基础格式,pdf2md 或 Pandoc 就够了;要精准提取结构、表格,就得靠 pdfplumber 或 OCR+AI 的方案。
有时候我自己也会混着用,比如:
先用 pdf2md转 Markdown;再用 GPT 帮我润色和修正 Markdown 格式; 最后在 Typora 里打开,调一调图片和标题。
就这样,一份干净的 Markdown 文档就出来了。
如果你经常写技术博客、做项目文档,强烈建议把上面这几种方法都试一遍,慢慢会形成自己的一套最顺手的工作流。 毕竟,文档漂亮一点,老板看着都舒服 😄
-END-
我为大家打造了一份RPA教程,完全免费:songshuhezi.com/rpa.html
虎哥作为一名老码农,整理了全网最全《python高级架构师资料合集》,总量高达650GB,点击下方公众号回复关键字 python 全部免费领