教程:翻译扫描文档

作者:Michael Reed

最近,我需要访问一些德语文档中的信息,但问题是它仅以低质量扫描件的形式提供。本文概述了我如何提取和翻译信息。使用的工具是 pdfimages、GIMP、gImageReader 和 Google 翻译。

有一些 OCR(光学字符识别)工具可以直接处理 PDF 文件作为输入文件格式。不幸的是,在这种情况下,扫描页面的倾斜度很严重,需要手工整理才能进行处理。 尽管屏幕捕获每一页是可能的,但会很繁琐,而且屏幕分辨率与原始扫描图像的分辨率不匹配,这将导致质量损失。

提取图像 (pdfimages)

解决方案是从 PDF 文件中提取图像。我为此使用了名为 pdfimages 的工具。

pdfimages inputfile.pdf outputfile

将生成一系列图形文件,这些文件根据它们在 PDF 文档中出现的顺序编号。默认情况下,它们是 PBM 格式。这是一种不太常见的格式,可以诱使 pdfimages 输出 JPEG 文件。但是,我建议不要这样做,因为 JPEG 是一种有损格式,我们需要为将要进行 OCR 的文档尽可能多地保留质量。

清理图像 (GIMP)

我使用 GIMP 清理图像,幸运的是,它可以处理 PBM 作为输入格式。扫描件本身存在许多问题。我做的第一件事是使用旋转工具(图层>变换>任意旋转...)来拉直图像。为了使操作更容易,我放大了图像,以便可以使用窗口顶部作为标尺来对齐文本行。在这种情况下,我发现 +1.4 度的旋转使线条再次变直。

我必须处理的原始图像。
 

清理后的版本。

扫描件在某种程度上也存在倾斜。这意味着虽然文本行现在是水平直线,但左边距没有垂直对齐。我使用了 GIMP 倾斜工具来纠正这个问题,同样是在放大图像的情况下操作。

图像也被压缩了,所以,我缩放了它,使其高度增加 50%(图层>缩放图层...)。通过实验,我发现这样做,以及将图像变成单色(图像>模式>索引...),大大提高了 OCR 软件的准确性。

最后,我裁剪了图像。

OCR (gImageReader)

图像现在已准备好通过 gImageReader 进行处理,gImageReader 是 Tesseract OCR 工具的 GTK 前端。默认情况下,虽然它有资源对德语文档执行 OCR,但它没有拼写检查输出所需的德语词典。我通过使用软件包管理器添加德语 MySpell 词典来纠正了这一点。顺便说一句,如果页面图像质量足够好,gImageReader 可以处理 PDF 文档作为输入格式。

图像加载并处理后,窗口在输入文档和输出文本之间分割。输出文本窗格具有实时拼写检查和一些基本的文本编辑功能。当您加载多页文档的页面时,您可以不断将输出添加到文本窗格。显然,由于源文档最初质量很差,输出包含一些错误。我手工进行了一些更正,例如手动删除连字符。实时拼写检查器允许您使用上下文菜单选择更正,以及回到原始文档的视觉参考,这在这里很有帮助。

翻译成英语 (Google 翻译)

最后阶段是将文本剪切并粘贴到 Google 翻译中。

最终结果对我来说足够好,可以提取我需要的信息。这是一个输出示例

自由软件的使用也具有政治层面。软件的自由在第三届联合国信息社会世界峰会(WSIS)上被确认为值得保护的。它属于公民社会的基本要求,以克服“数字鸿沟”。自由软件的应用和进一步发展不受诸如软件专利、限制性许可条件和高成本等障碍的限制。这再次反映了自由软件的自由决策权,并为研究、创新和增长赢得了额外的战略重要性。

加载 Disqus 评论