Tips & Tricks

如何使用垂直或从右到左文本方向 OCR PDF

标准 OCR 引擎建立在一个基本假设之上:文本在页面上从左到右水平运行。此假设适用于英语、西班牙语、法语、德语和大多数欧洲语言。对于传统列中垂直设置的日语文本、字符从上到下堆叠的中文符号以及文本从右到左排列的阿拉伯语和希伯来语文档,它完全失败。在这些文档上运行标准 OCR 会产生输出,其中字符被单独识别,但以错误的顺序组装,导致结果无用。

通过最新一代人工智能驱动的识别系统,OCR PDF引擎处理非标准文本方向的能力得到显着提高。这些引擎在尝试识别之前检测文本方向,识别阅读方向,并重建逻辑阅读顺序,而不管视觉布局如何。对于具有混合文本方向的文档,例如包含水平英语引文的日语文章,引擎会在页面中间切换模式。

How to OCR a PDF With Vertical or Right-to-Left Text Direction

OCR 引擎如何检测和处理文本方向

现代 OCR 引擎从布局分析步骤开始,该步骤识别文本区域、确定其方向并按阅读方向对它们进行分类。对于水平文本,引擎会检测基线并沿其对字符进行分组。对于垂直文本,引擎会检测垂直轴并将字符分组到列中。对于从右到左的文本,引擎会识别主导字符集并反转默认的从左到右的单词顺序。

文本方向检测依赖于多个信号。特定 Unicode 字符范围的存在表明可能的语言及其典型的文本方向。检测到的字符的空间排列,无论它们形成水平线还是垂直列,都提供了布局证据。字符边界框的长宽比提供了第三个信号:拉丁字符通常宽度大于高度,而 CJK 字符大致呈正方形,阿拉伯字符以显示阅读方向的方式水平连接。

最可靠的 OCR 引擎结合了所有三种信号类型。包含阿拉伯文字(意味着从右到左阅读)和拉丁文字(意味着从左到右阅读)的文档需要引擎独立分析每个文本区域。正确配置的多语言文档提取 PDF 数据管道包括每个区域的方向检测,而不是将单个方向应用于整个页面。

每个书写系统都需要根本不同的 OCR 配置。

WukongPDF

尝试 PDF OCR

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

立即开始 →

日语、中文和韩语竖排文本的 OCR 设置

日语竖排文字称为“tategaki”,是现代使用中最常见的竖排书写系统。它出现在小说、报纸、传统文献和正式信件中。在竖排日语中,字符是从上到下读取的,列在页面上从右到左排列。嵌入在垂直日语文本中的数字和拉丁文字可以在垂直流内水平旋转或设置。

要 OCR 竖排日语文本,请选择明确支持 tategaki 的识别引擎。通用 OCR 引擎可能会正确检测字符,但会以从左到右的水平顺序输出它们,从而产生垃圾。日语专用 OCR 引擎可以理解基于列的阅读顺序并输出可以自然阅读的文本。 Tesseract 是开源 OCR 引擎,在版本 5 中添加了改进的垂直日语支持,并且现在有几个商业引擎提供了它。

对于出现在传统出版物、书法和一些正式文件中的中文竖排文本,识别挑战类似,但字符集更大。简体中文使用大约 7,000 个常用字符,而繁体中文使用超过 13,000 个常用字符。 OCR 引擎不仅必须检测垂直布局,还必须区分视觉上相似但仅笔画细节不同的字符。

韩文竖排文本在现代文献中很少见,但出现在历史文本和一些传统出版物中。韩文字母 Hangul 将各个字母组合成音节块,在垂直书写中,这些块从上到下堆叠。处理韩语竖排文本的 OCR 引擎必须识别音节块结构以及每个块内的各个字母组件。

阿拉伯语、希伯来语和波斯语从右到左文本的 OCR 设置

阿拉伯语 OCR 提出了超出文本方向的独特挑战。阿拉伯语是一种草书文字,其中大多数字母与其相邻字母相连,字母形状根据其在单词中的位置而变化:首字母、中间字母、结尾或孤立字母。 OCR 引擎必须识别这些上下文形式并将它们映射到正确的抽象字符。字母之间的缺失连接或错误连接会产生草书特有的识别错误。

选择希伯来语 OCR 时,脚本不是草书,而是包含元音点(称为 niqqud),在字母上方、下方或内部显示为点和破折号。这些元音标记很小,通常在扫描图像中为 2 到 4 个像素,并且在二值化过程中很容易丢失。未明确处理 niqqud 的 OCR 引擎将正确识别辅音,但会丢弃元音标记,生成人类读者可以理解的文本,但技术上不完整。

波斯语和乌尔都语使用带有附加字符的阿拉伯文字的扩展版本。仅接受阿拉伯语训练的 OCR 引擎将错过这些附加字符或将它们误识别为类似的阿拉伯字母。为这些语言选择 OCR 引擎时,请验证它是否专门列出了对文档使用的确切语言和脚本变体的支持,而不仅仅是一般的阿拉伯脚本。

处理混合方向的文档

许多现实世界的文档在同一页面上混合了多个文本方向。日语技术论文可能有垂直的日语正文、水平的英文图形标题和遵循自己的布局规则的数学方程。阿拉伯语商业信函可能会在从右到左的正文上方以从左到右的格式包含英文公司名称和地址块。

对于混合方向的文档,OCR 预处理步骤至关重要。必须将文档分割为文本区域,并且在开始识别之前必须针对文本方向对每个区域进行独立分类。对于复杂布局,手动区域选择通常比自动分割产生更好的结果。在每个文本区域周围绘制边界框,并为每个框指定正确的语言和方向。

OCR 后,通过检查跨越方向边界的文本来验证输出。混合方向 OCR 中的一个常见错误是两个文本区域之间的边界错误,导致从左到右区域的最后一个单词被附加到从右到左区域的开头,反之亦然。抽查这些边界区域可以发现布局分割错误,否则会产生混乱的输出。

非标准文本方向的 OCR 后处理

OCR 完成后,识别的文本可能需要重新排序以产生自然的阅读顺序。某些 OCR 引擎按照识别的顺序输出垂直日语文本,每列中从上到下,从左到右逐列。这个顺序与原来的阅读顺序不符,原来的阅读顺序是从右到左逐列。对列重新排序的后处理步骤会产生正确的读取顺序。

对于扫描的 PDF内容包含双向文本、阿拉伯语和嵌入英语术语的文档,Unicode 双向算法指定如何确定显示顺序。 OCR 输出应包含 Unicode 双向控制字符或遵循算法,以便文本在粘贴到支持双向文本的应用程序时正确显示。

WukongPDF 通过浏览器对扫描的 PDF 提供 OCR 处理,并提供语言选择选项,包括对主要从右到左和垂直书写系统的支持。在处理完整文档之前在示例页面上测试 OCR 可让您验证文本方向是否得到正确处理。

对于同一页面上同时包含垂直和水平文本的文档(例如日本杂志布局,其中主要文章是垂直的,但标题和侧边栏是水平的),手动分区可产生最准确的 OCR 结果。为垂直和水平区域绘制单独的识别区域,为每个区域分配正确的文本方向,并在分区文档上运行 OCR。花在分区上的额外时间会提高识别准确性。

处理具有非标准文本布局的历史文档时,请做好 OCR 准确性低于现代印刷文档的准备。历史字体、不均匀的印刷、褪色的老化纸张以及非标准字符变体都会降低识别信心。对于学术或档案工作,请将 OCR 输出视为手动转录的起点,而不是成品。

某些 OCR 引擎支持培训模式,您可以在其中提供文档中使用的特定字体或手写风格的示例。在几个有代表性的页面上训练引擎可以提高整个文档的识别准确性。这种方法对于以不常见字体打印的文档或来自同一出版商的文档集合特别有用,其中多卷的版式是一致的。

对从右到左的文档完成 OCR 后,通过从输出中复制几个句子并将其粘贴到支持双向文本的应用程序(例如 Microsoft Word 或 Google Docs)中来验证文本方向是否正确。如果文本以相反的顺序显示,则 OCR 引擎未正确应用从右到左的方向,并且需要使用更正的方向设置重新处理输出。

为非标准文本方向设置正确的 OCR 参数所投入的时间会立即在识别准确性方面得到回报。在 OCR 效果不佳后需要 30 分钟手动更正的文档在正确配置 OCR 后可能只需要 5 分钟清理。

书写系统方向OCR 引擎要求主要挑战
日语(立垣)从上到下、从右到左的列具有明确 tategaki 支持的引擎垂直流中的混合水平英语
中文(繁体)垂直列,从右到左大字符集(13,000+)视觉上相似的角色
阿拉伯从右到左,草书连接具有位置形式的阿拉伯文字引擎上下文字母形状;变音符号
希伯来语从右到左,带 niquud具有元音支持的希伯来语脚本引擎二值化中丢失的小元音标记
波斯语/乌尔都语从右到左,扩展阿拉伯语特定语言引擎阿拉伯语集之外的其他字符
WukongPDF

尝试 PDF OCR

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

立即开始 →