Tips & Tricks

如何对混合横向和纵向页面的 PDF 进行 OCR

由混合来源组装而成的扫描 PDF 通常包含纵向和横向页面。财务电子表格显示为横向页面。随附的文本文档显示为纵向页面。在不考虑混合方向的情况下对此类文档运行 OCR 会生成可识别的文本,其中横向页面上的文字会被打乱、旋转或完全丢失,因为 OCR 引擎以错误的方向处理这些页面。

OCR PDF引擎分析文本行以确定字符位置和阅读顺序。当页面相对于引擎期望旋转 90 度时,文本行垂直而不是水平运行。引擎要么无法完全识别文本,要么尝试垂直阅读,产生无意义的输出。混合方向文档需要在 OCR 处理之前进行每页方向检测。

WukongPDF 的扫描 PDF OCR 工具可处理混合页面方向,并在识别过程中自动检测每个页面的旋转。

为什么页面方向对于 OCR 准确性很重要

OCR 引擎的工作原理是检测字符行并分析每行内的形状。纵向页面的文本行水平运行,引擎会自然处理。在没有旋转校正的情况下查看横向页面时,从 OCR 引擎的角度来看,文本行是垂直延伸的。引擎需要水平文本,无法读取垂直文本。

解决方案是在 OCR 之前检测每个页面的方向,并在处理之前将横向页面旋转为纵向方向。 OCR 后,页面可以旋转回其原始方向,并且识别的文本层位置正确。处理过程中的旋转不会永久改变文档;它只会改变 OCR 引擎查看页面的方式。

大多数自动化 OCR 工具假定所有页面都具有相同的方向,因为这是单个扫描仪在单个会话中生成文档的常见情况。混合方向文档通常是通过组合不同来源的扫描创建的,需要显式配置才能正确处理每页的变化。

方法 1:具有每页旋转检测功能的 Acrobat Pro

如果配置适当,Acrobat Pro 的 OCR 功能可以处理混合方向的文档。在 Acrobat Pro 中打开扫描的 PDF,然后转到“工具”、“扫描和 OCR”、“识别此文件中的文本”。在“识别文本”设置对话框中,确保为文档的主要语言选择正确的 OCR 语言。在“设置”部分下,启用“倾斜校正和拉直”选项,这有助于 Acrobat 检测页面旋转。

Acrobat 单独处理每个页面并尝试检测主要文本方向。对于检测正确的页面,OCR 输出准确且可读。对于检测失败的页面,例如文本最少或视觉背景复杂的页面,OCR 输出可能会混乱或完全不存在。 OCR 处理后,专门检查横向页面。搜索您可以在这些页面上直观看到的文本。如果搜索未找到任何结果,则 Acrobat 可能错误识别了方向。

对于错误识别的页面,请在组织页面工具中手动旋转它们,然后仅在这些页面上重新运行 OCR。每个受影响的页面的手动干预只需要一点时间,并确保每个页面都为可搜索文档输出提供准确的识别文本。

方法 2:使用 OCRmyPDF 进行预处理

OCRmyPDF 是一个基于 Tesseract OCR 构建的开源命令行工具,通过其内置的歪斜校正功能处理混合方向的页面。命令 ocrmypdf --deskew input.pdf output.pdf 检测每个页面上的文本方向,根据需要旋转页面,使用 Tesseract 运行 OCR,并输出可搜索的 PDF。纠偏标志是混合方向文档处理的基本参数。

OCRmyPDF 按顺序处理页面并自动应用每页方向校正。对于极度旋转的文档或同时包含水平和垂直文本的页面,倾斜校正算法会根据主要文本方向确定页面方向,从而为大部分页面内容提供最佳 OCR 结果。少数文本方向的准确性可能会略有降低,但通常仍然可以识别。

在文档工作流程中,对于混合方向文档的大批量批处理,OCRmyPDF 与处理文件夹中所有 PDF 的 shell 脚本相结合,提供完全自动化的 OCR,无需手动进行每个文档配置。自动化处理日常处理,只有例外情况才需要人工审查。

专门验证横向页面上的 OCR 输出

OCR 处理后,验证横向页面上的输出作为单独的重点检查。选择输出 PDF 中横向页面上的文本并将其复制到纯文本编辑器。复制的文本应按正确的顺序阅读,从上到下、从左到右匹配视觉页面内容。如果单词混乱、无序或以无意义的顺序出现,则该页面的方向检测失败。

搜索横向页面上出现的特定已知术语。横向页面上的财务表可能包含您可以在 OCR 输出中搜索的特定帐户代码、部门名称或数值。如果搜索在横向页面上找不到匹配项,但在同一文档的纵向页面上找到匹配项,则 OCR 引擎可能完全错过了横向内容。这些页面需要重新处理并指定手动方向。

在文档工作流程中,对于将用作可搜索档案的文档,验证步骤是一个质量关卡,可在文档进入永久馆藏之前捕获与方向相关的 OCR 问题。未经验证的 OCR 输出会默默地错过整个内容页面,这破坏了创建可搜索存档的目的。

批量处理混合方向扫描集合

对于大量具有混合方向的扫描文档,手动逐页验证是不切实际的。使用 OCRmyPDF 和去歪斜标志自动执行该过程,然后运行验证脚本来检查每个输出页面是否存在可搜索文本。识别文本字符为零或字符很少的页面将被标记为进行手动审查和可能的重新处理。

验证脚本读取每个经过 OCR 处理的 PDF,逐页提取文本层,并计算每页上已识别字符的数量。任何低于最小字符阈值(例如十个字符)的页面都被标记为可能未处理或方向错误。标记的页面被编译成一份报告,指导人工审核工作仅针对实际需要人工关注的页面,而不是要求审核每个页面。

关于工作流程,对于正在进行的数字化项目,新的扫描文档定期到达,批处理和验证工作流程成为标准操作程序。新文档进入管道,通过带有方向检测的 OCR 自动处理,只有例外情况才需要人工干预。自动化处理日常事务。人工审核员处理例外情况。

通过内部旋转改进页面上的 OCR

某些扫描文档包含的页面的内容在页面内旋转,而不是页面本身旋转。通过将表格内容旋转 90 度,同时保持页面尺寸纵向,可以将横向财务表格插入到纵向文档中。这些页面对于方向检测来说是最具挑战性的,因为页面尺寸没有提供需要旋转的指示。

对于文档处理,对于内旋转的页面,手动预处理是最可靠的方法。在 Acrobat Pro 中,使用编辑 PDF 工具选择旋转的内容区域,将其旋转到正确的水平方向,并将其正确放置在页面上。校正内旋后,在校正后的页面上运行 OCR。每个受影响的页面的手动预处理步骤大约需要一分钟,但会产生干净且准确的 OCR 输出。

识别内旋转的页面需要目视检查。扫描文档并查找文本相对于页面边缘以意外方向延伸的页面。内旋转页面在大多数文档集中相对较少,但一旦出现就会严重影响 OCR 质量。

为混合方向文档选择正确的 OCR 引擎

不同的 OCR 引擎以不同的精度处理方向检测。具有纠偏预处理器的 Tesseract 可以很好地处理中等旋转,但可能会难以处理精确旋转 90 或 180 度的页面。 Google Cloud Vision OCR 包含内置方向检测,可以可靠地处理所有旋转角度。对于准确性至关重要的关键混合方向文档,基于云的 OCR 服务在方向处理方面通常优于本地引擎。

在提交大批量之前,在一小部分混合方向页面样本上测试所选的 OCR 引擎。使用已知方向模式进行的十页测试揭示了引擎如何处理文档中的特定旋转类型。如果引擎方向检测证明不足以满足您的特定文档类型,则测试需要几分钟的时间,并且可以避免数小时的重新处理。

从混合方向文档导出 OCR 文本以进行验证

OCR 处理后,导出识别的文本以验证所有页面的完整性。在 Acrobat Pro 中,转到“工具”、“导出 PDF”,然后选择“文本”作为输出格式。导出的文本文件应包含按正确阅读顺序的每个页面的内容。打开文本文件并搜索您知道出现在特定横向页面上的术语。如果导出时缺少这些术语,则这些页面可能在 OCR 过程中方向错误,需要重新处理。

关于文档处理,对于用于可搜索档案的文档,导出的文本可作为每个页面将其内容贡献给可搜索层的独立验证。存在间隙或缺失部分的文本导出表示 OCR 失败,在文档进入永久存档之前需要注意。导出步骤充当质量关卡,在与方向相关的 OCR 问题成为永久性存档缺陷之前捕获它们。

WukongPDF

尝试 PDF OCR

无需安装。直接在您的浏览器中工作。

立即开始 →