如何对扫描的PDF进行OCR(使其可搜索)
扫描的PDF只是页面的图片——你无法搜索、复制或编辑其中的文本。OCR通过添加一个不可见的文本层来解决这个问题。以下是三种不同方法的实现方式。
你将一叠文件扫描成了PDF。在屏幕上看起来效果很好——清晰、可读、专业。但当你尝试搜索一个词、复制一段文字或选择一个电话号码时,却什么也没发生。你的光标就像在选择一张图片一样,在页面上拖出一个蓝色的矩形。因为这正是你正在做的事情。
扫描的PDF就是照片。每一页都是一个单一的图像——一个由像素组成的平面网格,没有任何字母、单词或句子的概念。你的电脑在扫描PDF中看到的文本量,和你在一张日落JPEG图片中看到的文本量一样:零。
OCR(光学字符识别)解决了这个问题。它分析每一页图像,识别字符,并在原始扫描件的顶部添加一个不可见的文本层。视觉外观保持不变,但现在你可以搜索、复制、选择文本,并让屏幕阅读器访问它。
本指南将介绍OCR是什么,它是如何工作的,三种OCR扫描PDF的方法,以及如何获得最佳效果。

如何判断你的PDF是否需要OCR
在投入OCR时间之前,请检查你的PDF是否真的需要它。许多PDF是“数字原生”的——由Word文档、Excel电子表格或网页创建——并且已经包含真实的文本层。
5秒钟测试
- 在任何查看器(Adobe Reader、Preview、Chrome、Edge)中打开你的PDF
- 按 Ctrl+F(Windows/Linux)或 Cmd+F(Mac)
- 输入页面上可见的一个词
- 如果查看器高亮显示了该词:你的PDF已经包含可搜索文本。无需OCR。
- 如果未找到任何内容:你的PDF是纯图像。需要OCR。
选择测试
尝试单击并拖动以选择页面上的文本:
- 如果你可以选择单个单词并且它们以蓝色高亮显示:PDF包含文本层。
- 如果整个页面被选为一个整体(就像选择图像一样):PDF是未包含文本层的扫描件。
- 如果你可以选择部分文本但不能选择其他文本:PDF包含部分OCR或混合内容——有些页面是数字的,有些是扫描的。
通常需要OCR的PDF类型
| 文档类型 | 通常需要OCR? | 原因 |
|---|---|---|
| 扫描的纸质文件 | 是 | 纯图像,无文本数据 |
| 传真文件保存为PDF | 是 | 传真输出是栅格图像 |
| 文档照片(手机相机) | 是 | 相机拍摄=图像 |
| 从复印机“扫描到电子邮件”生成的PDF | 是 | 大多数复印机生成图像PDF |
| 从Word/Excel导出的PDF | 否 | 数字原生,包含文本层 |
| 从网页浏览器打印到PDF | 否 | 保留文本 |
| 在线下载的政府表格 | 通常否 | 大多数是数字原生 |
| 作为PDF附件发送的收据 | 通常否 | 由带文本的POS系统生成 |
什么是OCR?通俗易懂的解释
OCR代表光学字符识别(Optical Character Recognition)。 它是读取图像中文本的技术——分析像素模式以识别字母、数字和符号,就像你的眼睛阅读页面上的文字一样。
当你扫描一份文件时,扫描仪会创建一个照片。这张照片包含像素——墨迹处为黑色,纸张处为白色——但没有实际的文本数据。扫描仪不知道像素的排列组合拼写出了“Invoice”。它只记录图像。
OCR会获取该图像,分析其形状,将其与已知的字符模式进行匹配,并输出这些形状所代表的文本。结果是一个看起来与原始扫描件完全相同的PDF,但包含一个不可见的文本层。当你按下Ctrl+F并搜索“December”时,PDF查看器会检查文本层,找到匹配项,并高亮显示图像上该单词出现的位置。
OCR的进步
OCR可以追溯到20世纪50年代,当时早期系统只能在受控环境中处理特定字体。该技术通过模板匹配(1970s-80s)、特征提取(1990s-2000s)和机器学习(2010s)不断发展。今天的OCR结合了用于字符识别的深度神经网络和使用上下文解决歧义的语言模型——如果系统不确定一个字符是“l”还是“1”,周围的单词会帮助它决定。
现代OCR引擎在干净、扫描良好的印刷文档上实现了超过99%的字符准确率。
OCR工作原理:技术流程
OCR不是单一的算法。它是一个由步骤组成的管道,每个步骤都建立在前一个步骤的基础上。
步骤1:图像预处理
在任何字符识别发生之前,OCR引擎会清理图像。这包括二值化(转换为黑白以获得最大对比度)、倾斜校正(纠正即使是轻微的页面旋转——1-2度的倾斜会显著降低准确率)、去噪(消除扫描伪影和斑点)以及边框去除(去除黑色边缘和装订阴影)。
步骤2:布局分析
引擎识别页面结构——文本块、列、图像、页眉、页脚、表格和阅读顺序。没有这一步,一个双栏文档可能会产生混乱的输出,同时跨越两列读取。
步骤3:字符分割
在每个文本块内,单个字符被隔离。行通过垂直间距分离,单词通过水平间距分离,单词内的字符通过它们的边界分离。这比听起来要难——许多字体的字符会重叠或接触,而在像阿拉伯语和梵文这样的文字中,字符以复杂的方式连接。
步骤4:字符识别
每个分割的字符图像使用在数百万个已标记字符图像上训练的深度神经网络进行分类。网络输出一个置信度排序的候选列表,而不是单一答案。一个清晰的“A”可能获得99.8%的置信度。一个模糊的字符可能产生一个分布平坦得多的结果。
步骤5:语言建模
原始字符识别容易出错。上下文可以解决歧义。是“lnvoice”这个词吗?不——“l”实际上是“I”,使其成为“Invoice”。统计语言模型预测可能的字符序列,格式验证将规则应用于日期和数字等模式。
步骤6:输出生成
识别出的文本被映射回原始图像坐标,并作为不可见的文本层写入PDF。每个单词都精确地与其视觉对应项对齐,从而实现搜索和高亮显示功能。
方法1:PDFSub OCR工具(推荐)

PDFSub的OCR工具可处理扫描的PDF并添加可搜索的文本层,同时保留每一页的原始视觉外观。
分步说明
- 访问OCR工具 - 导航至 pdfsub.com/tools/ocr
- 上传你的扫描PDF - 拖放文件或单击以浏览。无需拆分大型文档——多页PDF会自动处理。
- OCR处理你的文档 - 工具分析每一页,识别文本,并构建不可见的文本层。处理时间取决于页数和复杂性,但大多数文档在几秒钟内完成。
- 下载你的可搜索PDF - 输出文件看起来与你的原始扫描件完全相同,但现在支持文本搜索、文本选择和复制粘贴。
为什么选择PDFSub
支持130多种语言。 OCR支持英语、西班牙语、法语、德语、中文、日语、韩语、阿拉伯语、印地语、俄语、葡萄牙语以及120多种其他语言的文档。多语言文档会自动处理——你无需提前指定语言。
保留原始外观。 OCR过程添加文本数据而不改变视觉内容。你的扫描页面看起来完全一样。字体、布局、印章、签名和手写注释都保持不变。
无需安装软件。 所有操作都在你的浏览器或安全服务器上进行。无需下载,无需检查系统要求,也无需担心兼容性问题。
注重隐私的设计。 上传的文档将被处理然后删除。PDFSub不会存储你的文件,也不会将其用于训练。
免费试用。 PDFSub提供7天免费试用,你可以在购买前用自己的文档测试OCR。
方法2:Adobe Acrobat Pro
Adobe Acrobat Pro包含一个内置的OCR功能,称为“识别文本”,位于其“扫描和OCR”工具集中。
分步说明
- 在Adobe Acrobat Pro中打开你的扫描PDF
- 转到 工具 并选择 扫描和OCR
- 单击 识别文本 并选择 在此文件中 或 在多个文件中
- 在“设置”下,选择 可搜索图像(添加不可见的文本层——推荐)
- 单击 识别文本 开始处理
- 保存文件
优点和局限性
Adobe在处理干净的英文扫描件方面准确率很高,支持批量处理,并允许你直接纠正OCR错误。然而,Acrobat Pro的年付计划每月费用为19.99美元(每年239.88美元),需要桌面安装(无基于浏览器的OCR),仅支持约20种语言,并且在处理超过50页的文档时可能速度较慢。
方法3:Google Drive(免费,但有损)
Google Drive包含一个基本的OCR功能,可以从扫描的PDF中提取文本——但有一个重大的折衷。
分步说明
- 将你的扫描PDF上传到Google Drive
- 右键单击文件并选择 打开方式,然后选择 Google Docs
- Google会处理PDF并创建一个包含提取文本的Google文档
- 文本现在可以搜索、选择和编辑了
优点和局限性
Google Drive OCR完全免费,在处理干净的打印文档时准确率很高,并且会自动检测语言。然而,有一个关键的折衷:它会破坏格式。 Google不会向你的PDF添加文本层——它会将文本提取到Google文档中。表格变成纯文本,列会合并,原始布局丢失。你最终得到的是一个Google文档,而不是一个可搜索的PDF。
它也最适合处理10页以下的文档。更长的文档可能会被截断。
最适合: 提取文本内容而不需要原始布局的情况。如果你需要一个保留外观的可搜索PDF,请使用方法1或方法2。
OCR准确率:按文档类型预期
OCR并非魔法。准确率因文档质量、内容类型和扫描条件而异。以下是实际测试结果。
打印文档(现代字体):95-99%
现代印刷文档——发票、合同、激光打印机打印的报告——是最佳情况。标准字体在OCR训练数据中得到了很好的体现,干净的白纸打印产生高对比度的图像。在一页250个单词(约1500个字符)上达到99%的准确率,预计会有大约15个字符错误——大多数无关紧要,例如将句号误读为逗号,或将小写“l”误认为“1”。
旧式打字文档:85-95%
机械打字机带来挑战:字母对齐不一致,色带磨损导致墨迹密度变化,以及等宽字符导致分割混淆。尽管如此,打字文本是单独形成的并且水平对齐的,因此大多数OCR引擎都能很好地处理它,足以用于搜索目的。
手写文本:60-80%
手写仍然是OCR最严峻的挑战。变异性巨大——不仅在人与人之间,甚至在一个人在一页纸上的书写风格之间。整齐的块状印刷体可能达到80-85%。铅笔书写的草书在带线的纸上可能低于60%。务必手动验证手写文档中的关键数据。
混合内容(文本+表格):90-97%
结合了文本和表格数据的文档增加了布局分析的挑战。单元格内的字符识别通常是准确的,但结构错误——单元格边界识别错误、列分配错误、多行单元格拆分成行——会破坏数据关系,其影响比单个字符错误更大。
准确率汇总表
| 文档类型 | 字符准确率 | 可搜索? | 数据提取可靠性? |
|---|---|---|---|
| 现代印刷(激光) | 95-99% | 优秀 | 是 |
| 现代印刷(喷墨) | 93-98% | 优秀 | 通常 |
| 旧式打字 | 85-95% | 良好 | 需验证 |
| 清晰手写(块状) | 70-80% | 部分 | 否 - 需验证所有内容 |
| 草书手写 | 60-70% | 差 | 否 |
| 混合文本+表格 | 90-97% | 良好 | 需结构审查 |
| 模糊/损坏纸张 | 70-90% | 可变 | 需大量验证 |
OCR扫描前的最佳实践
OCR准确率的最大因素不是OCR软件本身——而是扫描质量。一个优秀的OCR引擎处理糟糕的扫描件,其结果会比一个平庸的引擎处理优秀的扫描件更差。
分辨率:最低300 DPI
**DPI(每英寸点数)**决定了扫描仪捕获的细节量。
- 300 DPI:大多数文档的标准。足以可靠识别标准字体和正常文本大小(10-12pt)。
- 600 DPI:推荐用于小文本(脚注、细则)或需要最高准确率时。
- 150 DPI或更低:不推荐。字符太小,无法可靠识别。准确率显著下降。
- 1200 DPI:OCR的过度扫描。不会提高准确率,文件大小会变得巨大。
颜色模式:灰度通常最佳
- 灰度:最适合大多数文档。保留足够的对比度以获得良好的二值化,同时保持可管理的文件大小。
- 黑白:适用于干净、高对比度的文档,但可能会破坏边缘区域的细节。
- 彩色:仅在文档包含需要保留的颜色编码信息时才需要。对于OCR目的,彩色与灰度相比没有优势。
对齐和方向
- 保持页面平直。 即使是2-3度的倾斜也会使OCR准确率降低5-10%。使用扫描仪的纸张导向器保持页面对齐。
- 单面扫描,正面朝下。 避免背面渗透产生阴影文本,从而混淆OCR引擎。
- 使用平板扫描仪处理装订文档。 馈纸扫描仪可能会使书籍或装订报告中的页面倾斜。平板扫描可保持页面平整和正确对齐。
扫描仪维护和文档准备
- 扫描批次前清洁玻璃——污迹会在每页上产生伪影
- 扫描空白页检查条纹——垂直线表示滚轮脏污
- 移除订书钉和回形针以防止卡纸和划痕
- 压平折皱的页面——深折痕会产生OCR引擎可能误读的阴影
OCR之后:下一步做什么
运行OCR只是第一步。以下是如何充分利用你新生成的搜索文档。
验证结果
始终抽查OCR输出,特别是关键文档:
- 搜索你知道出现在文档中的关键词。 如果Ctrl+F能持续找到它们,说明OCR正在工作。
- 复制一段文字并粘贴到文本编辑器中。 阅读是否有明显的错误——乱码、缺失字符、无意义的替换。
- 仔细检查数字。 金额、日期、电话号码和账号是高风险数据。交易金额中将“6”误读为“8”是一个真正的问题。OCR引擎偶尔会混淆相似的数字(0/O、1/l、5/S、6/8)。
纠正错误和整理
如果你在关键文档中发现错误,Adobe Acrobat Pro允许你直接编辑文本层,或者你可以用600 DPI重新扫描有问题页面并重新运行OCR。对于手写部分,手动抄写通常比纠正糟糕的OCR更快。
一旦可搜索,你的PDF就可以集成到现有工作流程中。桌面搜索(Windows Search、Mac上的Spotlight)会自动索引它们。文档管理系统(SharePoint、Google Drive、Dropbox)可以实现跨库的全文本搜索。良好的文件名加上可搜索的内容是理想的组合。
OCR的实际用例
数字化纸质档案
企业、律师事务所和政府机构通常有几十年的纸质文件。简单地扫描为PDF会创建只能按文件名搜索的图像文件。添加OCR可以将被动档案转变为可查询的数据库。典型工作流程:以300 DPI灰度扫描,运行OCR,应用命名约定,然后上传到文档管理系统。
使法律文件可搜索
法律专业人士在证据开示和尽职调查过程中会处理大量的文档。对方律师可能会提供数千页的扫描文档。没有OCR,审查意味着手动阅读每一页。有了OCR,律师就可以在整个文档集中搜索关键词、姓名、日期和金额——使审查在合理的时间内成为可能。
可访问性合规
根据《美国残疾人法案》(ADA)和第508条,政府机构和联邦资助组织的数字文档必须是可访问的。屏幕阅读器无法解释纯图像PDF——它们需要文本层。OCR是实现合规的第一步。可能还需要其他工作(标题结构、替代文本、阅读顺序标签),但没有文本层,可访问性是不可能的。
保险和金融处理
保险公司和银行收到数百万份扫描的索赔表、医疗记录、支票和贷款申请。OCR能够自动提取数据——从扫描文档中提取保单号、索赔金额、服务日期和账户详细信息到处理系统。
学术和研究档案
大学、图书馆和档案馆正在数字化历史文献、报纸和手稿。OCR使数百年来的知识可供搜索。Google图书和Internet Archive等项目已对数十亿页进行了OCR处理,使得可以对需要花费一生才能手动阅读的馆藏进行全文本搜索。
常见问题解答
我可以一次OCR多个PDF(批量处理)吗?
是的。PDFSub支持一次性处理多页文档。对于大型批量作业——数百或数千个文件——您需要通过该工具按顺序处理。Adobe Acrobat Pro也通过其“操作向导”功能提供批量OCR,可以自动处理整个PDF文件夹。
OCR会改变我的PDF外观吗?
不会。正确的OCR是在可见页面图像后面添加一个不可见的文本层。扫描PDF的视觉外观保持不变——页面、布局、分辨率都相同。文本层仅对搜索功能、文本选择、复制粘贴和屏幕阅读器“可见”。
如果我对已经包含可搜索文本的PDF运行OCR会怎样?
大多数OCR工具会检测到现有的文本层,并跳过这些页面或提供重新处理它们的选项。对已可搜索的PDF运行OCR通常是无害的,但没有必要——它不会改善现有的文本层,并且由于数据冗余可能会略微增加文件大小。
OCR后我的文件大小会增加吗?
会略微增加。对于典型的扫描文档,预计会增加5-15%。文本层本身很小(字符和位置数据),与构成扫描PDF大部分内容的图像数据相比,增加的量可以忽略不计。
OCR能处理混合了扫描和数字页面的PDF吗?
是的。好的OCR工具独立处理每一页。已经具有文本层的页面会被检测到并可以跳过。纯图像页面将被处理。结果是一个完全可搜索的PDF,无论原始文件是如何组合的。
OCR支持哪些语言?
语言支持因工具而异。PDFSub的OCR支持130多种语言,包括拉丁字母(英语、西班牙语、法语、德语)、CJK(中文、日文、韩文)、西里尔字母(俄语、乌克兰语)、阿拉伯字母(阿拉伯语、波斯语、乌尔都语)、梵文(印地语、马拉地语)等等。
OCR能识别手写体吗?
部分可以。整齐的块状印刷体准确率可达70-80%。草书则困难得多(60-70%或更低)。对于手写文档中的关键数据,务必手动验证结果。
OCR与PDF文本提取是同一回事吗?
不是。OCR将文本图像转换为实际字符——当只有像素而没有文本数据时需要它。PDF文本提取读取数字PDF内容流中已存在的文本——当文本被困在不易处理的格式中时需要它。如果你的PDF是数字原生的,你需要提取。如果它是扫描的,你首先需要OCR。
OCR对手机相机拍摄的照片有效吗?
是的,但准确率取决于照片质量。为获得最佳效果:将手机平行于文档放置,确保光线均匀(无阴影),充满画面,保持稳定,如果可用,请使用手机的文档扫描模式。手机照片通常对清晰的打印文本准确率可达85-95%——低于平板扫描仪,但通常足以满足搜索需求。
OCR后我可以编辑文本吗?
OCR文本层是不可见的,并定位在扫描图像之上。你可以将文本复制并粘贴到任何编辑器中,使用Adobe Acrobat Pro直接编辑文本层,或导出到Word或纯文本进行编辑。要更改扫描文档的可见内容,你需要重新扫描或使用PDF编辑器在图像上添加注释。
开始使用OCR
如果你有需要搜索的扫描PDF,最快的方法很简单:
- 测试你的PDF - 使用Ctrl+F测试确认它们需要OCR
- 尝试PDFSub的OCR工具 - 在 pdfsub.com/tools/ocr 上传扫描PDF并查看结果
- 验证输出 - 抽查几页以确认准确率满足你的需求
- 处理剩余文档 - 一旦你对结果满意,开始处理你的积压文件
PDFSub提供7天免费试用,包括OCR工具和平台上所有其他PDF工具的访问权限。上传扫描文档,体验可搜索文本带来的不同。随时取消。