跳至内容

为什么 OCR 会漏掉公式、脚注、表格和图示

OCR 适合用来定位页面,但复杂的教材版式需要用图像进行核对。了解常见的失效模式和更安全的检查流程。

8 分钟阅读PDF作者:Temposhot Team

由截图生成的可搜索 PDF 包含两部分:页面图像,以及由 OCR 生成的不可见文字层。图像是准确的。文字层只是对内容的最佳推测。在教材页面上,文字层在学生最常搜索的部分最薄弱:公式、脚注、表格和带标注的图示。

本文说明这些部分失效的原因、哪些截图设置有帮助,以及在依赖 PDF 搜索之前如何检查。

示例使用同一份文档:作者以开放许可发布的 120 页课程讲义。它具有典型教材的版式问题,而且规模足以逐页检查。

示例文档的四项统计:120 页、46 个编号公式、85 条脚注和图注、22 幅带标注的图示。

为什么教材页面难以识别

OCR 在图像中查找文本块,将其拆分为行和词,并把每个字符的形状与书面语言模型进行匹配。它在普通段落上效果最好:单栏、间距规则、正文字号、对比度良好。

教材几乎每页都打破这些前提。同一页上会混有双栏、侧栏、图注、编号公式、表格和图示。OCR 失败时不会报错。文字层中该区域只会是错误字符或空白。

OCR 各阶段的失效点

识别分为多个阶段,早期阶段的错误会传递到后续阶段。顺序判断错误的文本块,即使其中每个字符都被正确识别,仍然保持错误的顺序。下图列出各阶段,以及会导致该阶段失败的教材元素。

五框流程图:查找文本块,侧栏会造成失败;排列行的顺序,双栏会造成失败;拆分为词,表格会造成失败;匹配字符,公式会造成失败;写入文字层。

页面图像在每个阶段都保持正确。错误只存在于文字层中,因此 PDF 看起来正常,搜索结果却可能很差。

双栏与阅读顺序

在双栏页面上,OCR 需要判断某一行是继续向右,还是换行到同一栏的下一行。当两栏之间的间距较窄时,它会直接横向读取。于是文字层中会交替出现左栏的半行与右栏的半行。

课程讲义的 120 页中,有 70 页使用双栏。搜索仍然能找到单个词,因为每个词本身是完整的。跨行的 4 到 5 个词组成的短语通常会搜索失败,因为文字层中的下一行属于另一栏。

逐栏截图可以从源头解决这个问题。在左栏周围框选自定义区域,再对右栏单独截取一次,帧数会增加一倍。对于以正文为主的页面,这一成本通常值得。

公式具有二维结构

普通文字从左到右阅读。公式还要从上到下阅读:分数会上下堆叠各项,指数和下标位于基线之外,求和的上下限位于符号的上下方。希腊字母和运算符也超出了多数 OCR 模型所用的字符表。

通常结果是字母和数字顺序错乱,或公式被直接跳过。搜索变量名有时仍能找到页面。把公式复制到笔记中的情况很少成功。

复制出的公式是什么样子

以分子含平方项、分母含下标变量的分数为例。在文字层中,分子和分母常常分成两行,指数则变成变量后面的普通数字。原本表示“平方”的 2 与系数无法区分。

页边的公式编号,例如 (3.14),通常会保留下来。它们是位于基线上的普通数字。可以搜索公式编号找到页面,然后从图像中读取公式。

“做”与“不做”清单:搜索公式编号和附近的词,重新输入关键公式;不要把 OCR 输出粘贴到笔记中,也不要相信文字层中的指数。

脚注小而且顺序错乱

脚注和图注的字号比正文小。在屏幕分辨率下,小字母的高度可能只有几个像素,rn 与 m、1 与 l 这类相似的形状很难区分。

脚注还位于页面底部,与正文中的标记相距很远。OCR 按位置顺序读取,因此脚注可能出现在文字层中两段无关正文之间。

像素高度是主要因素

在标准显示器上以 100% 缩放显示时,9 pt 的脚注约为 12 像素高。在 Retina 显示器上,同样的文字约为 24 像素,因为每个 point 对应两个像素。在 Retina 显示器上把阅读器缩放到 150% 时,约为 36 像素。

大致像素高度对比:标准显示器 100% 时为 12 和 15 像素,Retina 显示器 100% 时为 24 和 29 像素,Retina 显示器 150% 时为 36 和 44 像素。

缩放的代价是帧数。在 150% 缩放下,课程讲义的每一页已无法完整显示在屏幕上,因此每页需要 2 帧。120 页就变成 240 帧,运行时间也增加一倍。

上标标记与易混字符

脚注标记比脚注文字更小。单词后的上标 3 常常与该词合并,文字层中会出现 “result3” 而不是 “result”。这时搜索 “result” 会漏掉这一处。

常见的易混字符对包括 rn 与 m、cl 与 d、1 与 l、0 与 O。包含这些字符对的词比不含的词更难可靠搜索。本文后面的抽查中,搜索失败的脚注词是 “modern”,文字层中它被识别为 “rnodern”。

表格需要行与列的结构

OCR 输出的是文字行。表格需要行和列。单元格边框会干扰线条检测,过窄的列可能合并成一个字符串。

数字通常能保留为字符,但它们的行列顺序常常丢失,因此复制出的表格可能把数值放进错误的单元格。

手动重建一张表格

课程讲义共有 14 张表格。其中只有 3 张包含课程练习中使用的数值,因此只有这 3 张值得重建。对单张表格的裁剪截图能为提取工具提供干净的输入,不含周围的文字。

五个编号步骤:用自定义区域只截取表格,运行 Extract Text from Image,粘贴到电子表格,调整合并单元格的列顺序,对照图像核对每个单元格。

用这种方式重建并核对一张 6 列、12 行的表格大约需要 10 分钟。对于小表格,直接根据图像输入的时间大致相同。提取工具主要在列数少、行数多的长表格上有帮助。

已经是图像的表格

有些文档把表格嵌入为图片,而不是文字。在屏幕上,它们与文字表格看起来一样。在截图中也没有区别,因为每次截图本身都是图像。

区别在源文件中体现。如果读者也无法选中表格中的文字,说明原文中该表格很可能就是图像。此时分辨率由出版方决定,放大只会放大同样的像素。这类表格的 OCR 结果在任何缩放下都很差,因此直接输入关键数值更快。

图中标签不等于图示本身

图内的标签很短,常常旋转或放置在图形和线条之上。OCR 可能跳过它们、合并相邻的标签,或把坐标轴读成字符。图示本身,包括箭头、曲线和结构,永远不会变成文字。

学习时应把图示当作带图注的图像看待。搜索图注中的词,不要搜索图内的文字。

改为建立图示索引

课程讲义中的 22 幅图示无法通过标签查找。一份纯文本索引大约需要 20 分钟即可完成。每行包含图号、页码,以及 3 到 4 个描述图示内容的词。

例如,一行写作 “Fig 5.2, page 63, demand curve shift, price ceiling”。在索引中搜索 “price ceiling” 即可返回页码,然后在 PDF 中打开该页。这份索引在任何应用中都可以搜索,包括无法搜索 PDF 的应用。

小字号的图注常因脚注相同的原因导致 OCR 失败。索引同样覆盖这些情况。

按元素汇总的失效模式

下表汇总了每类元素的表现,并列出可以用来替代文字层的方法。

五类教材元素的比较,列出每类元素在 OCR 文字层中的常见内容,以及更可靠的替代方法。

实用的核对流程

  1. 搜索正文

    在 Preview 中打开 PDF,搜索段落中间的一句短语。结果应当在正确的页面上命中。

  2. 搜索脚注中的词

    选择脚注或图注中一个不常见的词。搜索未命中说明小字号是薄弱环节。

  3. 复制公式

    拖选一个公式并粘贴到文本编辑器中。空缺和错乱的符号显示文字层保留了多少数学内容。

  4. 复制表格的一行

    粘贴一行,并与图像比对。确认数值仍位于各自的列中。

  5. 检查双栏页面

    从左栏复制一段文字。如果粘贴结果中出现右栏的词,说明阅读顺序已混乱。

对单个图或表格,可以对裁剪后的截图运行 Extract Text from Image,查看能识别出的内容,然后手动修正。

不必检查全部 120 页,抽样即可

检查 120 页 PDF 的每一页需要数小时。抽取 10 页作为样本,约 15 分钟即可找到相同的薄弱环节。选择能覆盖各类元素的页面,而不是前 10 页。

抽查时间线:0 分钟搜索正文,3 分钟搜索脚注词,6 分钟复制公式,9 分钟复制表格行,12 分钟复制双栏页面的段落,14 分钟记录结果。

本例中,3 个正文短语全部命中,3 个脚注词中有 2 个命中,两个公式都出现错乱,3 个表格行中有 1 行的数值位于错误的单元格。这些结果直接记入本文末尾的审核笔记。

根据抽查结果采取行动

每项失败的检查对应一个行动。正文短语未命中是唯一需要重新截图的结果,因为正文正是搜索的主要用途。其他失败都在 PDF 之外解决。

  • **正文短语未命中:**检查缩放和主题,然后按下文的设置重新截图。
  • **脚注词未命中:**换一个词搜索,并把薄弱页面记入审核笔记。
  • **公式错乱:**重新输入需要的公式,并通过公式编号搜索。
  • **表格行顺序错误:**将练习中使用的表格重建为电子表格。
  • **双栏粘贴内容混杂:**在这些页面上搜索单个词,或逐栏截取。

在本例中,只有公式和一张表格需要处理。PDF 保持截图时的原样。

抽查时使用的 Preview 快捷键

抽查在 Preview 中通过几个按键完成。在旁边打开一个文本编辑器,可以快速完成粘贴比对。

Preview 快捷键列表:Command F 搜索,Command G 跳到下一个匹配,Shift Command G 跳到上一个匹配,Command C 复制,Command 加号放大。

截图前改善识别效果

OCR 的大部分问题源于每个字符分到的像素数量。导出之前,这一点是可以控制的。

  • 使用 Retina 显示器。 Retina 截图 每边存储的像素数约为窗口逻辑尺寸的两倍。
  • 放大阅读器。 提高阅读器的缩放,使正文明显大于默认大小。脚注的改善最为明显。
  • 只截取一栏。 框选一栏作为自定义区域,或者在阅读器提供单栏视图时使用该视图。
  • 等待渲染完成。 增加 Auto Capture 的间隔,可以避免截取到半加载的文字。
  • 使用浅色主题。 深色背景和彩色高亮带会降低对比度。

Temposhot 按显示器提供的分辨率截取屏幕上的内容。它无法恢复阅读器未渲染出的细节。

课程讲义的截图方案

讲义在 PDF 阅读器中以 150% 缩放、连续滚动视图打开。按一次 Down Arrow 只会移动几行,因此 Page Down 更合适,它大约移动一屏。自定义区域只覆盖页面宽度,不包括阅读器的工具栏和侧边栏。

Auto Capture 设置面板:240 张截图,间隔 1.2 秒,按下 Page Down,10 秒倒计时,覆盖页面宽度的 Custom Area,并开启 Lock aspect。

1.2 秒的间隔让阅读器有时间在下一帧前完整渲染每一屏。10 秒倒计时留出时间,用于滚动到第 1 页并点击阅读器,使其接收按键。在完整运行 240 帧之前,先用短时间运行测试前 10 帧。

每个循环依次保存截图、发送按键,然后等待间隔时间。因此每一帧都是在完整的渲染时间之后截取的。如果某一帧仍显示模糊的占位文字,将间隔增加到 2 秒。运行时间从约 5 分钟增加到 8 分钟,比重新截图更省时间。

Key press 是 Temposhot Pro 的功能,免费版会限制每次会话的截图数量。在免费版中,每次会话截取较短的范围,或在短时间的运行之间手动翻页。

长时间运行前检查屏幕

前几帧中的渲染问题会在之后的每一帧中重复出现。运行前先做一次简短检查,可以避免重新截图。

截图前的七项检查清单:Retina 显示器,缩放 150%,浅色主题,关闭高亮,区域内只有一栏,没有遮挡窗口,10 帧测试运行。

Temposhot 的截取 PDF 功能会按顺序合并所选帧,并对其运行 OCR。免费的浏览器工具 Screenshot to Searchable PDF 对已有的截图执行同样的操作。

不要绕过复制限制进行 OCR

Temposhot 中的 OCR 用于允许保存的页面,例如自己的材料,或许可证允许个人副本的书籍。

Temposhot 也无法截取受 DRM 保护的内容,或禁止屏幕截图的应用中的内容。这些来源会产生黑色帧,OCR 无内容可识别。

与 PDF 一同保存的审核笔记

在每个导出的 PDF 旁边添加一份简短笔记,或将其作为 Document 的第一页:

  • 源版本与页码范围。
  • 截取日期与缩放比例。
  • 已知的 OCR 缺陷,例如“第 14 至 18 页的公式不可搜索”。
  • 已与原件核对的页面。

数月之后,这份笔记会告诉你哪些页面的搜索结果可信,哪些页面应当当作图像阅读。

课程讲义的笔记

示例 PDF 的笔记共六行,记录来源、截图设置,以及 15 分钟抽查的结果。撰写这份笔记大约需要 3 分钟。

  • 来源:课程讲义,第 2 版,第 1 至 120 页,开放许可。
  • 2026-03-02 截取,在 Retina 显示器上以 150% 缩放,共 240 帧。
  • 正文搜索:3 个短语中找到 3 个。
  • 脚注:3 个词中找到 2 个;易混字符处失败。
  • 公式:不可搜索;重新输入的列表见 equations-retyped.md;按编号搜索。
  • 表格 2.3、4.1 和 7.2 已重建并核对;其他表格未核对。

将笔记与修正内容放在同一文件夹

PDF、笔记和重建的表格应放在一起。固定的文件夹结构便于找到已验证的部分。下例使用课程讲义。

课程文件夹的文件树,包含可搜索 PDF、OCR 审核笔记、重新输入的公式文件,以及含三份重建电子表格的 tables 文件夹。

在 PDF 文件名中加入缩放比例,可以记录截取方式。如果之后以不同缩放比例截取得到更好的搜索结果,两个文件可以轻松区分。

常见问题

为什么搜索能找到页面,却找不到完整短语

换行、连字符和混乱的阅读顺序会在文字层中切断短语。改为搜索一个不常见的单词。

提高 JPG 质量能改善 OCR 吗

略有改善。分辨率的影响远大于此。缩放和 Retina 显示器带来的提升,比导出质量更大。

能否手动修正文字层

在 PDF 内无法有效地修正。请将重要的公式和表格数值输入笔记,PDF 作为参考保留。

以 150% 缩放截图会使 PDF 变大吗

会。每页约需 2 帧,而不是 1 帧,并且每个字符对应的像素更多。如果文件必须保持较小,对副本运行 Compress PDF,并保留全分辨率的 PDF 用于搜索。

能否对已导出为图像的帧进行 OCR

可以。按页码顺序将 PNG 或 JPG 文件上传到 Screenshot to Searchable PDF。它会运行文字识别,并返回可搜索、可复制的 PDF。同样的限制仍然适用:公式、脚注、表格和图内标签仍需按本文的检查方法核对。

能否对深色模式的截图进行 OCR

效果较差。浅色文字位于深色背景上会降低大多数模型的对比度,彩色高亮会使情况更糟。在截图前将阅读器切换为浅色主题。

处理允许保存的页面

对这些页面使用更高的缩放比例截取,并对第一次导出的文件执行上述检查。将截图保存为 PDF 页面展示了完整流程。

ocrsearchable-pdftextbooksretina

把重复性截图整理为成品

Temposhot 可按定时或每次点击进行截图,并将结果导出为 PDF、图片、ZIP 或 MP4。

相关文章