PDF Techno

把 PDF 转换为 Markdown

把任意 PDF 转成干净、有结构的 Markdown——标题、表格、列表和链接都会保留。

保留表格与标题
批量转换
安全且私密

将PDF文件拖放到此处

松开以添加文件

一个 PDF 解析器,而不是一堆文字

多数「PDF 转文字」工具,只会按文件碰巧存储的顺序丢回一整面文字墙。这个工具则会重建文档:哪些行原本是标题,哪一块原本是表格,哪一栏该先读,以及分页在什么地方把一个段落拦腰截断。

纯文本提取

季度业绩
营收同比增长 18 %。
下表按地区
地区 三季度 四季度
EMEA 4.1 4.8
APAC 2.7 3.9
列出了各自的表现。

本转换器

## 季度业绩

营收同比增长 18 %。下表按地区
列出了各自的表现。

| 地区  | 三季度 | 四季度 |
|-------|-------|-------|
| EMEA  | 4.1   | 4.8   |
| APAC  | 2.7   | 3.9   |

同一个 PDF。差别在于结构:一个标题层级、一张真正的表格,以及一个绕开中间插入块、重新接回原样的段落。

转换之后仍然留下的东西

结构来自版面的几何关系,而不是靠标点去猜。

标题与列表

标题层级由字号和字重的相对关系得出,因此二级标题仍是二级标题,不会沦为又一个段落。有序和无序列表保留嵌套层次,粗体、斜体和等宽片段则作为 Markdown 的强调与行内代码一并带过去。

有线没线,都是表格

带边框的表格靠线条识别。没有边框的——其实只是对齐排列的文字列——通过对单元格位置做聚类找出来,而这正是多数转换器放弃、只丢出一堆用制表符隔开的碎片的地方。

多栏阅读顺序

双栏页面把正文存在一条在两栏之间来回穿梭的流里。照直读下去,每隔一行就有一行来自错误的位置。系统会先识别栏与栏之间的分界,因此每一栏都从上读到下,之后才开始下一栏。

链接与分页修复

超链接注释会变成真正的 Markdown 链接,而不是被压平成光秃秃的文字。被页边界切开的段落——哪怕两半之间夹着页眉、页脚和页码——也会被重新缝合成一个段落。

批量转换

把整整一个文件夹的 PDF 作为一个任务发过来,你会拿到一个 ZIP,里面既有每个 .md 文件,也有记录着每个文件遭遇的 CONVERSION_REPORT.md 清单。启用了批量处理的套餐可以使用。

默认就是私密的

文件通过 TLS 上传、处理,并在你套餐的保留期结束后自动删除。页面预览是在你的浏览器里生成的,因此你最终决定不转换的 PDF 从未离开过你的设备。

让 PDF 转换器崩掉的四件事

PDF 把字形存放在坐标上。它不存段落、不存表格、也不存阅读顺序——这些都得靠推断。以下就是这份推断必须扛住的东西。

双栏排版

问题所在

学术论文、通讯和年报都把正文排成栏,但底层的内容流往往是横穿整页的。若按存储顺序提取,你会先拿到 A 栏第一行,再是 B 栏第一行,再是 A 栏第二行——一团交错缠绕、读起来不知所云的东西。解析器会先识别出中间那道竖向空隙,再把每一栏当作独立的块来读。

没有线条的表格

问题所在

许多表格根本没有画任何线;人之所以把它读成表格,仅仅因为数值是对齐的。既然没有线可供识别,唯一的线索就是对每一行中文字从哪里开始、到哪里结束做几何分析。行与列正是从这些对齐关系中推断出来,并重建为 Markdown 表格。

被分页截断的段落

问题所在

一个从第 4 页底部开始、到第 5 页顶部结束的句子,两半之间夹着连续页眉、页脚和页码。这些反复出现的元素会跨页被识别并剔除,两个片段再合回同一个段落。

完全没有文字的页面

问题所在

扫描页里装的是图像,不是字符——字面意义上没有任何东西可以提取。与其悄无声息地输出一段空白,不如把这些页面数出来、连页码一并告知;这样一来,偏短的结果就有了解释,而不像是出了故障。开启 OCR,这些页面就会被读取。

扫描页:默认告知,按需读取

如果某一页没有文本层,转换器会告诉你受影响的是哪些页,而不是不声不响地做出一个更短的文件。可选的 OCR 会把这些页面当作文字读取——默认关闭,因为这是一次实打实的取舍,而不是白送的改进。

它能找回什么

标题、列表、表格和阅读顺序都会回来,因为它们来自词语在页面上的位置,而不是字体的元数据。

代价是什么

每页约 1.5 秒,而不开启时约为 50 毫秒——大约慢三十倍——并且每份文档上限为 50 页。

它找不回什么

粗体和斜体。OCR 的输出不带任何字体信息,因此被识别页面上的强调彻底丢失。扫描质量不佳时出现识别错误也很正常。

OCR 使用的套餐权限,与独立的 OCR 工具完全相同。以这种方式读取的页面会在结果里单独列出,让你清楚该复核文档的哪些部分。

一次转换很多文件

批量模式的前提假设是:任何一个真实的 PDF 文件夹里,至少会有一个文件不好对付。

1

一个任务,一个 ZIP

每个 PDF 在同一个压缩包里各自成为一个 .md 文件,于是文档迁移就是一次上传加一次下载,而不是一遍遍的重复劳动。

2

一个坏文件从不会拖垮整批

损坏或加锁的 PDF 只会自己失败。其余文件照常转换,并且始终可以下载——你绝不会因为一个文件而从头再来。

3

一份关于发生了什么的记录

ZIP 内的 CONVERSION_REPORT.md 会记录每个源文件的结果:转换了多少页、哪些页是扫描件、哪些页无法处理。

4

每个文件一个密码

受保护的 PDF 很少共用同一个密码。因此每个加锁文件都有自己的输入框,并在上传之前就在你的浏览器里校验,输错会立刻显现,而不是等一次漫长的传输之后。

Markdown、纯文本,还是 Word?

三者都能把文字从 PDF 里取出来。区别在于文档的形态能跟着带走多少,以及之后你还能拿它做什么。

Markdown纯文本(.txt)Word(.docx)
标题以 # 层级保留丢失以样式保留
表格Markdown 表格丢失保留
在差异对比中易读是是否——二进制格式
在 GitHub、wiki、文档站上渲染原生支持作为代码块不转换就不行
作为大模型或搜索索引的输入最佳——结构得以保留可用,但没有结构需要先做提取
可在任意文本编辑器中编辑是是否

经验法则:文字要被阅读、纳入版本管理或继续加工,就用 Markdown;要重新排版付印,就用 Word。

如何把 PDF 转换为 Markdown

试用无需账号,也没有软件要安装。

1

添加你的 PDF

把文件拖到本页任意位置,或使用选择按钮。每个文件都会附上首页缩略图和页数,二者都在你的浏览器里生成。

2

设置选项

需要的话可以提取内嵌图片、为扫描页开启 OCR,并为每个显示为加锁的文件输入密码。

3

开始转换

单个文件会立即转换。多个文件会作为一批排队并一起处理,每完成一个就更新一次进度。

4

下载并阅读提示

你会得到一个 .md 文件;如果提取了图片或转换了多个文件,则是一个 ZIP。若出现提示信息,请读一读:它会说明哪些页面需要留意。

它实际用在哪里

任何需要把 PDF 变成机器或版本管理能处理的文字的场合。

文档迁移

困在 PDF 里的旧手册、作业规程和规格表,可以带着完整的标题和表格搬进文档站、wiki 或代码仓库——不用重打,也不用再走一遍排版整理。

RAG 流水线与大模型上下文

检索质量在很大程度上取决于分块,而分块取决于结构。Markdown 的标题为切分器提供了真实可切的边界,这恰恰是纯文本给不了的。

研究与笔记

把论文导入 Obsidian、Notion 或 Logseq,章节和表格都还在,引文和插图因此始终与它们所属的标题相连。

纳入版本管理的文档

Markdown 在 git 里可以逐行比对。一份转换过一次的合同或制度,之后就能沿用与代码相同的流程去跟踪、评审和批准。

静态站点与 CMS 的内容

Markdown 是 Hugo、Jekyll、Astro、Docusaurus 以及多数无头 CMS 的原生输入,转换后的文件可以直接放进内容目录。

从报告中提取数据

财务报表和调研报告把数字埋在表格里。Markdown 表格解析起来极其容易,这些数字于是落到了脚本触手可及的地方。

它做不到的事

值得事先知道:一个藏着自己短处的转换器,比一个把短处说清楚的转换器更难让人信任。

难处理的页面会被指出,而不是被隐藏

属于扫描件的页面、无法解析的页面,以及复杂到无法完成表格识别的页面,都会连同页码在结果里逐一说明。复杂页面仍会以段落形式输出正文——丢掉的是表格的形态。

大小与页数上限来自你的套餐

最大文件体积、每份文档的页数、每批的文件数,统统由你的套餐决定,并显示在上传区旁边的面板里。显示的数值始终是你当前的数值。

加密文件需要它自己的密码

没有密码就读不了加锁的 PDF。密码只用于那一次转换,事先在你的浏览器里校验,并且绝不保存。

常见问题

扫描版的 PDF 能用吗?

不开 OCR 就不行,因为扫描页里存的是图像而非字符,没有东西可提取。转换器会准确告诉你哪些页面是扫描件,开启 OCR 后这些页面就会被读取。请预期处理会明显变慢,而且那些页面上的粗体和斜体会丢失。

表格是真的保留下来,还是只是近似?

带线的表格,以及没有边框、仅靠对齐形成的分列版式,都会被识别并重建为 Markdown 表格。极其复杂的页面——合并单元格、嵌套表格、繁重的视觉装饰——会退回成普通段落,而这些页面会在结果里列出,方便你知道该检查哪几页。

PDF 里的图片会怎样?

默认会跳过,你得到的是单个 .md 文件。勾选「提取内嵌图片」,结果就是一个 ZIP,里面有你的 Markdown 和一个 images/ 文件夹,Markdown 会链接到每个被提取出来的文件。

可以一次转换多个 PDF 吗?

在启用了批量处理的套餐上可以。文件会作为一个任务排队,并连同一份转换报告以 ZIP 返回。即便套餐没有这项功能,你仍然可以不限数量地逐个转换。

双栏的学术论文是怎么处理的?

在读取任何文字之前先识别栏的边界,因此每一栏都轮流从上处理到下。少了这一步,提取就会逐行在两栏之间来回跳,输出根本没法用——这正是那么多工具偏偏栽在论文上的原因。

受密码保护的 PDF 能转换吗?

可以。加锁文件会在自己的卡片上显示密码输入框,而且在任何内容上传之前就先在你的浏览器里校验,密码错了会立刻显现。在一批文件里,每个文件可以有不同的密码。

文件最大能多大?

这取决于你的套餐。上传区下方显示的上限就是你当前的上限,它不是写死的数字,而是实时从你的账户读取,因此升级套餐后会立即提高。

输出的 Markdown 可以直接发布吗?

通常已经很接近了。标题、列表、表格和链接都输出得很干净,结果是标准的 CommonMark,能在 GitHub、wiki 和静态站点生成器里正常渲染。版式不寻常的文档值得快速通读一遍,而结果里的提示会告诉你该看哪里。

我的文件会保存多久?

上传的文件和转换结果会在你套餐的保留期结束后自动删除,保留期就显示在上传区下方。你也可以在下载页面立刻删除已转换的文件。

需要账号吗?

不需要。在匿名套餐关于文件体积、页数和每日转换次数的限额之内,不登录也能转换。登录会提高这些限额,文件也能保留更久。

相关工具

从 PDF 里取出内容,或把内容放进 PDF 的其他方式。

Related Guides