PDF 怎么转成 TXT 纯文本?提取文字后先查这 6 处

PDF 要转成纯文本,文件里得先有文字层:提取工具拿到的是文件中存好的文字,而不是页面的图像。只导出需要的页面,存成 TXT 后对照原文查 6 处:空白页、双栏顺序、页眉页脚和页码、表格、公式与符号、乱码。顺序确认无误后,最后再整理换行。 TXT 适合摘进笔记、引用原话、在文本编辑器里检索长篇说明书,或把一段内容挪到别的文档里。但它不是页面的副本:字体、图片、分栏和表格线都没了,文字的先后顺序取决于这份 PDF 当初是怎么生成的。
PDF 转文字,到底能得到什么?
纯文本里只有字符和换行。把 PDF 转成文字,就是把文件中以文字形式存储的内容逐一读出来,再排成一串。加粗的标题变成普通的一行,表格变成一行行文字和数字,图片则直接消失。
最容易让人意外的是顺序。PDF 记录的是每段文字画在页面的什么位置,并不一定记录"下一段是哪段"。PyMuPDF 的文档说得很直白:纯文本提取不会对结果做任何美化,对 PDF 来说,输出可能不是通常的阅读顺序,还可能出现意料之外的换行(原文:"output not in usual reading order, unexpected line breaks and so forth",见 PyMuPDF 文本提取示例)。所以,一份 TXT 可能一个字都不少,读起来却是乱的。
你的 PDF 里有可提取的文字吗?
转换之前,先打开 PDF,用鼠标试着选中一句话。
- 文字能一个个被选中:这一页有文字层,提取工具可以读取。
- 一句话都选不中:这一页很可能没有文字层。提取工具在这页上没有文字可读,iSomor 的 PDF 提取文字工具也不做 OCR。拿不准的话,直接用工具提取一次,没有可读文字的页面会列出来。
- 阅读器要求输入密码,或提示禁止复制:文件受保护。请向文件所有者要一份你有权处理、未加密的副本。
同一份文件里也可能两种页面都有,比如报告中插了几页签字页的图片。这些页面提取不出文字,属于正常现象。
PDF 转 TXT 怎么操作?
下面以 iSomor PDF 提取文字 为例。它在浏览器里读取 PDF 已有的文字层,并且可以逐页检查后再取走文字。
- 选择一份 PDF。每次处理一份文字型 PDF,最多 20 MB、200 页。超过 200 页的文件即使只选其中几页也无法处理。文件在当前浏览器中处理,不会上传。
- 填写要提取的页码。留空表示全部页面;也可以填
1-3, 5这样的范围。页码按文件中的实际位置从 1 开始算,封面也算一页,所以可能和页面上印的页码不一样。只需要某一章时,只提取这一章,后面要核对的内容也少得多。 - 逐页预览。一页页翻看,和原文对照。如果所选页面中有部分没有可读文字,会列出这些页码;跳过了隐藏图层文字的页面也会列出(和阅读器的显示一致,默认隐藏的图层里的文字不提取)。如果所选页面全都没有可读文字,工具会提示「所选页面中没有可读文字」,不会生成 TXT。
- 复制或下载。可以复制全部文字,也可以下载 TXT。无论复制还是下载,每两页之间都会插入一个换页符,页与页的边界仍然保留。TXT 文件采用 UTF-8 编码、LF 换行。
单页最多 20 万字符,合计最多 100 万字符。文件特别长的话,分几次提取。
用 TXT 之前,要检查哪些地方?
把原始 PDF 开在旁边,先看下面这几处。提取出来的文字最常在这些地方出错,而且每种问题的处理办法都不一样。
| 检查项 | 在 TXT 里的样子 | 怎么处理 |
|---|---|---|
| 空白页 | 某些页码被列为没有可读文字,或提示所选页面中没有可读文字 | 先确认那一页是不是图片。不要据此认定整份文件坏了,其余页面可能都正常。 |
| 双栏顺序 | 左栏半句话接上了右栏半句话 | 缩小页码范围重新提取,和页面对照。先别删换行,删了只会把问题藏起来。 |
| 页眉、页脚、页码 | 段落中间夹着书名、章节名或页码 | 只删对照页面确认过的行。单独成行的数字也可能是章节号或正文数据。 |
| 表格 | 单元格变成一串文字和数字,顺序也可能变了 | 引用任何数据前,先按原表把行列关系理清。表头和单位也要看,不能只看数字。 |
| 公式与符号 | 上下标、分数、负号、希腊字母被压平或丢失 | 对照原文手动补写公式,或者干脆注明"见原文第几页"。 |
| 乱码 | PDF 显示正常,TXT 里却是方框、问号或错字 | 这与文件中字体的编码方式有关,整理换行解决不了。可以设法找同一文档的其他导出版本。 |

双栏错乱有它自己的成因。如果你要做的是翻译而不是提取,同样的原因也会让双栏论文译文读起来颠三倒四,详见 双栏 PDF 翻译后阅读顺序乱了怎么办。
什么时候整理换行?
顺序对了以后再整理。提取出来的文字常常在每个印刷行末尾断开,很容易想一口气全部合并。可如果两栏还混在一起,或者段落中间还夹着页脚,合并换行只会把错误的片段粘得更牢。
顺序确认无误后,合并段落内的单个换行、保留段落之间的空行,通常是安全的。标题、列表和行末连字符要单独处理。从 PDF 复制出来的文字,为什么总是乱的? 用 iSomor 文字整理工具 实际演示了这几种情况,并给出了处理前后的对比。

什么情况下不该转成纯文本?
想要的是可以再利用的文字,纯文本正合适。可如果版式本身承载着意思,比如需要逐行看的表格、带图注的插图、放在上下文里的公式,转成纯文本就不合适了。
如果你真正的目的是读懂一份外文 PDF,先转 TXT 再翻译,等于把这些上下文都丢掉了。iSomor 直接翻译原始的文字型 PDF,并尽量保留页面版式,你可以在原位置读译文,也可以下载 左右对照的双语 PDF。具体哪些内容会留在页面上,见 iSomor 翻译 PDF 时会保留版式吗?。
常见问题
为什么提示没有可读文字?
你选的页面都没有工具能读取的文字层,所以不会生成 TXT。这些页面很可能是扫描页或存成图片的页面。提取工具读取的是文件中存好的文字,不会识别图片里的字。条件允许的话,可以找原始文档导出的 PDF。
TXT 会保留 PDF 的排版吗?
不会。文字按 PDF 中存储的顺序排列,只还原简单的换行。多栏、表格和数学符号都可能错位,所以上面的检查才有必要。
页码应该怎么填?
按文件中的位置填,从 1 开始,封面也算。例如 1-3, 5 表示第 1 到 3 页和第 5 页。同一页填了两次只提取一次,顺序按你填写的先后排列。
页与页之间那个奇怪的符号是什么?
那是复制文字和 TXT 中用来分隔页面的换页符。视编辑器不同,它可能完全看不见,也可能显示成一个小符号或 ^L。可以留着当分页标记,也可以删掉。
加密的 PDF 能转成文字吗?
iSomor PDF 提取文字不行。它不打开加密的 PDF,也不处理禁止复制的文件。请使用你有权处理、未加密的副本。