操作教程
让扫描版 PDF 可以搜索
扫描版 PDF 看起来像一份普通文档,但实际上只是一张页面图片:Ctrl+F 搜不到任何内容,也无法选中或复制任何一个字。PDF OCR 工具能解决这个问题,同时不改变文件本身的性质。它会读取每一页的图像,用设备端 OCR 引擎识别字符,再把识别出的文字以不可见的方式叠加在同一张图像之上,因此 PDF 看起来和打印效果都和之前完全一样,但现在能响应搜索和文字选中操作。文件始终不会离开你的设备。
分步操作
- 打开 PDF OCR 工具,放入你的扫描版 PDF。只接受 PDF 文件,且文件大小上限为 80 MB;一般的多页扫描件远低于这个限制。
- 从下拉菜单中选择文档的语言(英语、法语、德语、西班牙语、葡萄牙语或意大利语),如果需要,也可以编辑输出文件名。默认情况下会自动保留 .pdf 扩展名。
- 点击运行,等待每一页处理完成。每一页都会先被渲染、经过 OCR 引擎识别,并获得各自的隐形文字层,然后工具才会处理下一页,所以文档越长耗时越久。下载结果:打开和打印效果都与原文档完全一致,但现在 Ctrl+F、文字选中和复制粘贴都能正常使用了。
可搜索 PDF 还是纯文本:你到底需要哪一种
这个工具和普通 OCR 工具解决的是同一个底层问题:识别扫描图像中的文字,但它们保留的东西不同。OCR 工具会舍弃页面图像,只给你一份纯 .txt 文本文件:当你想把文字粘贴进编辑器、翻译它们,或者以文本形式搜索它们,而不在乎保留文档原始外观时,就用这个。这里的 PDF OCR 工具则会完整保留原始 PDF,包括所有页面图像,只在下面添加一层隐藏的文字:当文档仍需要保持 PDF 格式以便打印、发邮件或存档,同时你又希望能搜索或从中复制文字时,就用这个。两个工具都不会把版面重建成带有真实字体和表格的可编辑文字;它们都基于同一份识别出的文字,只是打包方式不同。
为什么结果取决于扫描件本身,以及局限在哪里
识别准确率取决于原始图像的质量,这一点和普通 OCR 一样:干净、端正、分辨率在 200 到 300 DPI 左右的扫描件识别可靠,而模糊的照片、歪斜的页面或严重的阴影会导致更多识别错误。如果某一页扫描得歪斜了,先用 PDF 纠偏工具把它摆正,再进行 OCR,这样识别步骤才能读到水平的文字。这个工具支持六种语言(英语、法语、德语、西班牙语、葡萄牙语、意大利语);不支持的语言无法正确识别。处理过程在你的浏览器标签页中逐页进行,因此几十页的文档比两页的扫描件要花更长时间,且文件大小上限为 80 MB。输出的 PDF 体积通常也和原文件相近,因为页面图像本身没有被改动;如果之后需要更小的文件,可以再用 PDF 压缩工具处理一遍。
隐形文字层是如何构建的
每一页 PDF 都会先在你的浏览器中被渲染成画布图像,这和 PDF 转图片工具使用的渲染步骤相同。OCR 引擎(编译成 WebAssembly 的 Tesseract)读取这张图像,返回每个识别出的单词及其边界框,也就是它在页面上的位置。接着,这些文字会按识别出的位置重新绘制到原始 PDF 页面的副本上,但透明度为零,因此视觉上没有任何变化:你看到并打印出来的页面图像,仍然是扫描出来的那一张,只是叠放在上面。PDF 阅读器的搜索和文字选中功能只会读取这层隐形文字,这就是为什么文件变得可搜索、可选中,外观却毫无变化。渲染、识别和重新组装的整个过程都在你的浏览器标签页内完成;PDF 从本地磁盘读取,从不传输到任何地方。
本指南用到的工具
常见问题
可搜索的 PDF 在外观和打印效果上,还会和原始扫描件完全一样吗?
是的。工具从不修改页面图像,只是在下面加了一层隐形文字。无论在屏幕上还是打印在纸上,输出结果在视觉上都和你放入的扫描件完全相同。改变的是阅读器的搜索和文字选中功能现在可以找到并抓取识别出的文字了,因为它们读取的是那层隐藏的文字。
为什么已经有普通 OCR 工具了,还要有这个工具?
它们基于同一个识别步骤,满足的是不同的需求。OCR 工具给你的是一份纯文本文件,如果你打算粘贴、编辑或翻译这些文字,且不需要把文档保留为 PDF 格式,这正是你需要的。这个工具则会把文件保留为 PDF,原始页面图像完整不变,如果文档仍需要按原样打印、存档或发邮件,同时你又希望能从中搜索或复制文字,这正是你需要的。