跳到正文

扫描版PDF为什么无法搜索

因为里面根本没有文字。弄清文件里实际装的是什么,就能解释所有现象,也能找到决定修复效果的那一项设置。

最后审阅:

文件里没有文字

PDF可以存放两种完全不同、但在屏幕上看起来一模一样的内容。从Word导出的文档存放的是文本——真正的字符,每个字符都有位置和字体——所以您才能选中一句话、搜索一个名字、复制一段文字。扫描文档存放的则是一页纸的照片。里面除了像素什么都没有,就像一张路牌照片里除了像素什么都没有一样。

所有现象都源于这一个事实。搜索找不到任何内容,因为没有可匹配的东西。选中文字不起作用,因为没有文字可选——光标只会在图片上画出一个矩形。复制什么也得不到。文件相对页数来说很大,因为图片很占空间,文字却不占。把它转换为Word,得到的要么是空白文档,要么是贴在文档里的一张图片。

快速测试:用鼠标试着选中一个词。如果出现文本光标并且词被高亮,说明是真正的文字;如果出现的是一个框,那就是图片。

OCR究竟添加了什么

光学字符识别(OCR)会读取图片中的形状,判断它们是哪些字母。真正有用的是接下来的一步:识别出的文字会作为不可见文本写回PDF,覆盖在图片中对应文字的位置上。页面看起来和原来一模一样,因为视觉上什么都没变——但现在它可以被搜索、选中、复制和建立索引了。

这是一种刻意保守的设计,对文档来说也是正确的设计。没有任何内容被重新排版,所以合同看起来仍是签署时的那份合同,原始扫描图依然是视觉上的记录。PDF文字识别(OCR)一次就能完成这些,而且通常还会把页面摆正、旋转到正确方向,因为识别本来就需要这样做。

如果您想要的是可编辑的文档,而不是可搜索的文档,那就是另一项难得多的工作:需要提取文字、推断版式,再把结果重建为段落和表格。PDF转Word可以做到这一点,但其结果总是需要检查,而文字层则不需要。

决定一切的设置:300 DPI

识别准确率更多取决于扫描质量,而不是软件,其中最重要的一个数字是分辨率。300 DPI是标准,而且并非随意定的——它让普通正文的字高达到大约30个像素,足以区分形状相近的字母,而且绰绰有余。

在150 DPI下,准确率会明显下降,而且错误都很隐蔽:1被读成l,5被读成S,rn被读成m。再往下,效果会迅速变差。高于300 DPI很少有帮助,反而会让文件大很多——只有在字特别小或原件质量很差时,600 DPI才值得。

另外三项采集设置几乎同样重要。用灰度而不是黑白,因为硬性二值化会毁掉字母的细笔画。纸张平整并正对镜头,因为斜着拍的页面上,字母的形状会随位置变化。还有光照均匀——最典型的失败是从上方拍摄时,您自己的影子落在了页面上。

哪些内容OCR都无法识别

如实说明这一点能省下大量时间。通用OCR无法识别连笔手写,原因在于结构,而不在于努力程度:识别印刷体靠的是找出字母之间的边界,而连笔字没有边界。手写的印刷体字母、大写字母和表格方框里的字通常识别效果不错,因为它们是彼此之间有间隙的独立形状。

作为照片一部分的文字——招牌上、商品上、杂乱背景上的字——比纸上的文字难识别得多,高度风格化或装饰性的字体更难。复印件的复印件会丢失区分字母的细笔画。盖过章、写过批注或用荧光笔标记过的文档,在这些痕迹与文字重叠的地方识别效果都会变差。

好的工具会告诉您它的置信度,这个数字就是用来参考的。在一个能根据上下文读懂的句子中间出现低置信度,远不如账号中某个数字置信度低来得要紧。危险的错误恰恰是那些置信度高的错误,因为没有任何东西会标记出它们。

为什么这不只是方便与否的问题

没有文字层的扫描档案,实际上等于丢失了。什么都无法搜索它,什么都无法为它建立索引,任何合规系统都无法在其中找到一个名字,任何屏幕阅读器都无法朗读它——在许多司法管辖区,这使得发布此类文件成为一个法律问题,而不只是不方便。

这也是为什么值得坚持第一次就用正确的设置扫描。重新扫描一箱文件的成本远高于一次扫描到位,而任何后期处理都无法找回当初没有采集到的细节。

常见问题

OCR的准确率到底有多高?

对于普通印刷文字的清晰300 DPI扫描件,准确率非常高——高到错误只是偶尔出现,而不是家常便饭。对于光线不佳、斜着拍的手机照片,效果会差得多。扫描质量远比软件的选择重要。

OCR会改变文档的外观吗?

不会。识别出的文字以不可见的方式添加在原有图片之上,所以页面看起来和原来完全一样。处理过程中通常会把页面摆正、转到正确方向,这会让歪斜的扫描件看起来更好,而不是变得不一样。

OCR之后可以编辑文字吗?

在PDF本身中不行——可见的页面仍然是图片,文字层以不可见的方式覆盖在上面。要得到可编辑的内容,请把识别后的文档转换为Word,并做好检查结果的准备。

OCR能识别手写吗?

分开书写的手写印刷体字母和填写好的表格通常可以。连笔字在任何通用OCR工具中都不行——字母连在一起,找不到边界。专门针对手写训练的工具效果更好,代价是要把您的页面发送给第三方。

为什么我的可搜索PDF变大了这么多?

它本应几乎不变——文字层每页只有几KB。如果变大了很多,很可能是页面被重新渲染了,而不是原样保留,这值得检查一下,因为文字层的意义就在于原始图片保持原样。