2

我使用 Abbyy FineReader for ScanSnap 对几个扫描的 PDF 文件进行 OCR。该软件声称它保留了原始 PDF 图像。OCR 前和 OCR 后的 PDF 文件大小几乎相同,这很好。

软件完成后,所有PDF图像在Acrobat X中出现抗锯齿。页面导航比以前慢得多,当我放大/缩小时,图像首先进入看起来像预抗锯齿的版本,然后很快更改为抗锯齿图像。

左:扫描的 PDF /右:使用 Abbyy 进行 OCR 后 在此处输入图像描述

我想在没有抗锯齿的情况下获得原始图像。有趣的是,当我在 Photoshop 中打开抗锯齿 PDF 的单个页面时,没有抗锯齿,图像看起来像左边的那个。

我有限的 PDF 编程经验让我相信 Abbyy 可能会在 OCR 处理期间为每个图像设置某种抗锯齿标志。如何取消设置此标志?

任何指向有用想法的指针将不胜感激。

4

2 回答 2

2

软件完成后,所有PDF图像在Acrobat X中出现抗锯齿。页面导航比以前慢得多,当我放大/缩小时,图像首先进入看起来像预抗锯齿的版本,然后很快更改为抗锯齿图像。

实际上,原始文件2013_11_15_22_51_31.pdf包含 JPEG 图像,而 OCR 文件2013_11_15_22_51_31_OCR.pdf包含 JPEG2000 图像。

在第三方查看器中比较它们,很明显 OCR 文件中的图像本身并没有抗锯齿。此外,PDF 中没有明显的标志指示 PDF 查看器对 JPEG2000 图像应用抗锯齿。因此,Adobe Reader 似乎自动以不同的方式渲染 JPEG 和 JPEG2000 图像,对后者应用抗锯齿但对前者不应用。

但是,仔细比较这两个图像,很明显这些图像并不相同,而是 OCR 处理的 PDF 中的图像略微旋转。

我假设 Abbyy FineReader 识别出原始扫描图像的方向不正确。因此,它稍微旋转它以纠正这个方向。

因此,用原始图像中的图像替换 OCR 版本中的图像是没有选择的:由于旋转,OCR 信息将部分偏离。

您可能想要尝试的是将 JPEG2000 图像重新编码为 JPEG,并将 OCR 版本中的图像替换为重新编码的图像。这将意味着一些质量损失,但很可能您可以通过这种方式摆脱抗锯齿。

但请注意,JPEG2000 图像略大于 JPEG 图像以适应旋转。

PS:正如@VadimR 指出的那样,我在查看文件时错过的 OCR 版本的图像字典中确实有一个 /Interpolate true 条目。这似乎不是减慢渲染速度的主要问题。

原始 JPEG

于 2013-11-16T23:43:04.063 回答
1

OCR 版本的图像字典中有/Interpolate true条目,这就是导致“抗锯齿”的原因。无论这(而不是 JPEG2000 而非 JPEG 压缩)是否是导致速度变慢的原因,请检查足够大的文件。

要取消设置此键,最好在创建文件时将其关闭,如果不可能,则以合适的语言编写和运行一个小程序。

但是,由于您的文件不包含“压缩对象”,并且有问题的密钥在文件中以普通视图显示,因此本着“快速完成工作”的精神,您可以简单地处理您的文件,例如:

perl -M-encoding -0777pe "s!/Interpolate true!' 'x17!ge" <in.pdf >out.pdf
于 2013-11-17T13:35:44.013 回答