PDF 转文字
把 PDF 里的文字提取出来,复制走或存成 .txt 文件。全程在你的浏览器里完成,文件不上传。
把要提取文字的 PDF 拖到这里
或点击选择文件
- 100% 在浏览器内
- 不上传、免注册
- 不限页数与大小
- 文件不离开你的设备
如果你的 PDF 是扫描件,里面根本没有可提取的文字。我们会逐页检查,在你下载任何东西之前就告诉你。
人们为什么要把 PDF 里的文字取出来
PDF 描述的是一张打印出来的页面。它知道每个字符落在哪里、多大字号、由哪个字体绘制——但它并不知道这些字符组成的是一个句子、一个标题还是一个段落。你只想读这一页时,这没什么问题;可一旦你想拿这些内容做别的事,问题就来了。
于是人们转向纯文本。有人手上是一份很长的报告,想真正搜索它,或者在章节之间跳转,而不是翻九十页;有人要把一段话引用进邮件,不想让字体、断行和看不见的格式一起被带过去;有人要把文档粘进 AI 助手,对方要的是文字,不是版面装饰;有人要归档一份合同,希望二十年后不依赖任何特定软件也能打开。
还有无障碍阅读这一类需求,比看上去更常见。多栏排版在手机上很难读,屏幕阅读器如果按错误的顺序念,两栏页面听起来就是一堆胡话。把文档剥到只剩按正确顺序排列的文字,能让它在原本排版下做不到的场景里可用。
两类 PDF,只有一类里面真有文字
从 PDF 里提取文字,指的是读取文件内部存着的字符。这在 PDF 带「文本层」时才成立——文本层就是真正的字母,和绘制它们的指令一起存在文件里。扫描件没有文本层:它是一张页面的图片,里面一个字符也没有。
大多数由软件生成的 PDF——从文字处理软件导出的、从浏览器打印成 PDF 的、由开票系统生成的——都带文本层。判断方法很简单:打开文件,用光标去选一句话。如果高亮跟着文字走,那些字符就是真的在那里,任何工具都能读到。
扫描仪或手机相机生成的 PDF 不一样。每一页就是一张图片。你能看见那些字,是因为识别工作由你的眼睛完成了;但对文件来说,这一页装的是一张照片,别无他物。选不中文字,搜不到内容,提取也返回不了东西——不是工具失败了,而是那里本来就没有东西可返回。
把一张文字的图片重新变回文字,是另一件事,叫 OCR。它是识别问题而不是读取问题:软件对每个形状做猜测,有时会猜错。我们这里不做这件事。我们做的是逐页检查,在你下载任何东西之前告诉你它属于哪一类。一个把空文件递给你、或者不打招呼就偷偷换成 OCR 的工具,等于让你无从知道自己手上到底是哪种文档。
这项检查不是猜的。有文本层的页会报出它的字符,没有的页什么也报不出来,中间不存在可以判错的灰色地带。所以结果出现在文字上方,而不是埋在某个角落的提示里。
怎样从 PDF 里提取文字
不用安装,也不上传。把文件拖进来,看看我们发现了什么,然后按你需要的方式把文字带走。
把 PDF 拖进来
选择文件,或直接拖到框里。它由你自己的浏览器读取——不会被发送到任何地方,除了你设备能承载的限度之外,没有页数和大小限制。
先看那份判定
在文字出现之前,你会先知道有多少页带文本层、哪些页是扫描件、文档里有没有填好的表单域,以及是否检测到双栏排版并已重排。
需要的话调整读法
默认按你看到的版面走,并把零散的断行重新合并成段落。两者都可以切换:文档顺序保留 PDF 内部存储的次序,原样保留每一行则保留原始断行。
复制或保存
「复制」直接把文字放进剪贴板——粘进文档或 AI 助手时多数人要的就是这个。「下载」写出一个 UTF-8 编码的 .txt 文件,内容相同。
相关: 如果你只需要其中几页的文字,更快的做法是 先把那几页提取出来.
这个 PDF 转文字工具有什么不一样
最省事的提取方式,是把 pdf.js 交回来的文字片段直接拼在一起。一行代码,结果看起来也几乎是对的——所以很多工具就是这么做的。在一份两页的报税表上,这种做法在 76 处断行把词粘成了一个;在一篇论文的八页里,是 293 处。你会得到「permission toreproduce」和「neural networksin particular」这样的东西,散落在文档各处,而你不一定会在用之前发现。
更深的问题是顺序。PDF 按绘制到页面上的顺序存储文字,而那不是你阅读的顺序。在表单上,一个日期栏可能被输出成「MM DD YYYY/ /」,因为分隔符是最后画上去的。在双栏页面上,两栏会一行一行地交错——你在 PDF 阅读器里全选一页再粘出来,得到的正是这个结果。我们根据字符实际所在的位置重建阅读顺序,于是「MM / DD / YYYY」回来了,每一栏也保持完整。
还有一些东西是最容易被整个漏掉的。如果你填过一份 PDF 表单,你的答案一个字都不在页面正文里——它们存在表单域上,只读页面的提取器会把一份空白模板递给你,而且看起来一切正常。我们会把它们收集起来附在末尾。另外,某些 PDF 生成器会输出看着对、实际不对的字符:一份中文文档可能满是康熙部首,屏幕上分辨不出,搜索也搜不到,粘贴出来是错字。我们交出的每一个字符串都会做规范化,把它们折回本来该是的那个字。
人们拿它来做这些事:
- 真正搜索一份长报告,或者在它的章节之间跳转
- 把文档粘进 AI 助手,不带一堆版面杂物
- 引用论文里的段落,不把格式一起拖过来
- 把别人填好交回来的表单内容重新取出来
- 把文档归档成到哪儿都打得开的纯文本
- 在手机上以单栏读完一份多栏排版的文档
你在哪儿用都行
处理发生在你的浏览器里,所以不用安装,也不用注册账号。任何系统上的现代浏览器都可以。
Windows
Chrome、Edge 或 Firefox。不需要阅读器,不需要 Acrobat 订阅,也没有东西要下载。
macOS
Safari、Chrome 或 Firefox。比在「预览」里打开文件再一页页选要快。
Linux
任何现代浏览器。结果和命令行的 pdftotext 一样,但不用离开这个页面。
iPhone 与 iPad
Safari 或 Chrome。当 PDF 从邮件里过来、而你需要把文字发进聊天时很有用。
Android
Chrome、Firefox 或三星浏览器。用来把双栏文档读成一栏很顺手。
Chromebook
页面加载完成后可完全离线使用,适合学校统一管理的设备。
为什么从 PDF 里复制文字通常是乱的
如果你在 PDF 阅读器里全选过一页、粘出来发现句子全错位了,原因就在这里——大多数转换工具产出同样一团乱,也是同一个原因。
PDF 里存的是什么
是这一页被绘制的顺序。文字按生成这个文件的程序方便的次序落下:先标题,再页脚,然后正文,最后才是落在各字段之间的分隔符。复制会跟着这个次序走,所以在双栏页面上你会拿到左栏一行、右栏一行,一路交错下去。
我们重建的是什么
是你会去读的顺序。字符按所在位置聚成行,行聚成栏,栏一个接一个地读下来。断行回来了,栏保持完整,分隔符也回到了它们本该待的字段中间。
它仍然做不到的地方
一张页面的图片根本无法读取;表格一旦变成纯文本就不再是表格——行还在,网格没了。一整行横跨两栏、却没有任何一部分穿过中缝的情况(比如一排作者名),在几何上与「左右栏各一行」无法区分,所以标题区可能顺序古怪。Adobe 自家社区对 Acrobat 也是这么说的:遇到边栏和嵌在正文里的文字,「几乎不可能」判断该跟着哪一行走。当我们的读法看起来不对时,切到文档顺序对照一下。
要文本还是要 Word?
当你只要文字本身时,纯文本是对的答案——搜索、引用、粘进 AI 助手、归档。当你需要把文档作为文档拿回来、连同标题、表格和图片时,它就是错的答案;那是 PDF 转 Word 的活,任何 .txt 都办不到。在评判结果之前,先弄清你要的是哪一个。
你的文档留在你的设备上
人们拿到这类工具面前的文件,很少是无关紧要的。合同、发票、简历、体检报告、填好的申请表——这些文档的敏感之处恰恰就是它的全部内容。在把这样一份文件上传到任何地方之前,这一点值得想一想。
这个工具什么都不上传。你的浏览器打开 PDF、读取它,并在你自己的机器上把文字组装出来。没有携带你文件的请求,没有服务器上的队列,任何地方都没有缓存,也没有一份留给谁将来去删除的副本。关掉标签页,它就没了。
这也意味着通常那些限制不适用。没有页数上限,没有文件大小上限,也没有每日配额——因为这背后没有服务器账单,只有你自己的设备能从容承载多少。
不上传
PDF 在它原本所在的地方被读取,从不出发。
不注册
不用注册、不留邮箱,结果上也没有水印。
不留存
我们这边没有副本可以存储、记录或删除。
关于从 PDF 提取文字的常见问题
为什么我提取出来是空的?⌄
什么是「文本层」?⌄
你们对扫描件做 OCR 吗?⌄
为什么从 PDF 复制粘贴出来是乱的?⌄
为什么我的双栏文档顺序还是不对?⌄
我填在表单里的内容为什么不见了?⌄
表格会保持原来的排布吗?⌄
我该转成文本还是 Word?⌄
我的文件会被上传吗?⌄
有文件大小限制吗?⌄
支持中文、日文、韩文或阿拉伯文的 PDF 吗?⌄
.txt 文件是什么编码?⌄
相关阅读
通过我们的最新指南和评测,深入了解 PDF 转 PNG 的各种场景