怎样把 PDF 转成 Markdown
- 拖入 PDF:放到上方的框里、直接粘贴,或一次选择最多 20 个文件。
- 稍等片刻。 文字版 PDF 一两秒就能转完。扫描页要慢一些,因为每一页都要在你的设备上做 OCR。
- 检查结果。 Markdown 标签显示源码,预览显示排版效果,待检查页面列出值得再看一眼的页面。
- 复制或下载。 可以存成
.md文件、连同图片打包成.zip,或导出 JSONL 分块给 RAG 流程使用。
无需账号,不上传,每天转多少个文件都不限。
转换后保留什么
转换器读取 PDF 的文字层,也就是真实的字符以及它们的字号和位置,再据此重建文档结构:
- 标题:根据字号和字重,生成
#、##和###。 - 段落:句子跨行、跨页断开,也会重新接回来。
- 列表(编号和项目符号)以及带地址的链接。
- 表格:根据表格线或对齐的文字列生成 Markdown 表格。
- 图片:可以用占位符、链接到导出的图片文件,或者不保留,由你决定。
读者用不上的东西也会去掉:页码、每页重复的页眉页脚,以及行尾用连字符断开的单词。每项修复都有单独的开关,每个开关都显示它生效了多少次,不会在你不知情的情况下改动内容。
值得再看一眼的页面
没有哪个转换器能把每一页都转对。与其碰运气,这个工具会告诉你该看哪里。每次转换完,它都会逐页检查常见问题:
- 没有文字层的页面,或者字体映射到错误字符、读出来是乱码的页面;
- OCR 模型没把握的文字;
- 表格和多栏排版,这些地方阅读顺序容易出错。
被标记的页面会列在待检查页面里,每页都把页面图像和对应的 Markdown 并排显示,几秒钟就能对照完。如果某页文字是乱码,点一下就能用 OCR 重新识别这一页。
扫描版 PDF 与 OCR
页面上没有文字、只有文字图片时,转换器会用 OCR 识别。文字识别模型(PaddleOCR,Apache 2.0)通过 WebAssembly 在你的浏览器里运行,浏览器允许时会用多线程。模型只需下载一次,约 6 MB,之后会缓存起来。
默认可以识别拉丁字母语言和中文的印刷体。日文和韩文有各自的模型,可以在扫描页设置里选择。不支持手写体。扫描件的更多说明见扫描版 PDF 转 Markdown。
给 ChatGPT、Claude 和 RAG 用的 Markdown
Markdown 是语言模型读得最好的格式:标题和表格都能保留,token 也比 HTML 或原始 PDF 少。转换器按你实际要复制的内容计算 token,为大模型精简下的每个开关都会显示能省多少:去掉链接地址、粗体斜体标记或图片行。
分块标签会在你设定的 token 上限内按标题切分文档,保留每块的标题路径和页码,并整体导出为 JSONL。详见 PDF 转 Markdown 喂给大模型。
隐私有保障吗?
有,这是由设计保证的,而不是一句承诺。转换器是在你的浏览器标签页里运行的程序。PDF 从你的磁盘读进标签页的内存,在那里完成转换。它从不发送到我们的服务器或任何其他服务器,这也是没有文件大小收费、没有每日上限的原因。
会经过网络的只有:页面本身、转换器的代码,以及你第一次转换扫描件时下载的 OCR 模型。你可以在浏览器的开发者工具里自己核对:没有任何请求带着你的文件。详情见隐私政策。
限制
- **文件大小:**每个文件最大 300 MB,一次最多 20 个。特别大的文件可能超出单个标签页的内存,遇到时请只转换部分页面。
- 公式按 PDF 里的文字字符原样输出,不会变成 LaTeX。
- 复杂表格(合并单元格、单元格内多行)可能需要手动修改。这些页面会被标记。
- 扫描的表格在列对齐清楚时会变成 Markdown 表格;排得很挤或歪斜的表格可能输出为一行行文字。
- 带密码的 PDF 输入密码后即可打开,密码只留在标签页里。
常见问题
pdftomd 免费吗?
免费。在你的浏览器里转换,每个文件不会给我们带来任何成本,所以没什么可收费的:不用注册,没有水印,没有每日上限。
手机上能用吗?
能,任何新版手机浏览器都可以。大文件和长扫描件在手机上比在电脑上慢,手机内存也更少,所以特别大的 PDF 可能需要只转换部分页面。
能一次转换多个 PDF 吗?
能。最多拖入 20 个文件,它们会依次转换;点全部下载,就会把每个 Markdown 文件(如果选了导出图片,连同图片)打包成一个 .zip。
输出的是哪种 Markdown?
带 GitHub 风格表格的 CommonMark,GitHub、Obsidian、Notion、VS Code 和大多数静态网站生成器都能读。为 Obsidian 准备了 YAML front matter 选项,见 PDF 转 Obsidian。
能用代码把 PDF 转成 Markdown 吗?
如果要在脚本里用,可以看用 Python 把 PDF 转成 Markdown,里面有四个库和可运行的示例;也可以看我们的评测,了解它们的差别。