首页 文章

如何删除PDF图像中的抗锯齿?

提问于
浏览
1

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

软件完成后,所有PDF图像在Acrobat X中都显示消除锯齿 . 页面导航比以前慢得多,当我放大/缩小时,图像首先会快速转到看似预抗锯齿的版本之前更改为抗锯齿图像 .

Left: Scanned PDF / Right: after OCR with Abbyy
enter image description here

我想获得没有抗锯齿的原始图像 . 有趣的是,当我在Photoshop中打开抗锯齿PDF的单页时,没有抗锯齿,图像看起来像左图 .

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

任何有用的想法的指针将非常感激 .

2 回答

  • 2

    在OCR-ed版本的图像字典中有 /Interpolate true 条目,并且's what causes '抗锯齿' . 无论是(而不是JPEG2000而不是JPEG压缩)都是导致速度减慢的原因,您需要检查足够大的文件 .

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

    但是,由于您的文件没有运动“压缩对象”,并且在文件内部处于明显视图中,因此本着“快速完成工作”的精神,您可以简单地处理您的文件,例如:像这样:

    perl -M-encoding -0777pe "s!/Interpolate true!' 'x17!ge" <in.pdf >out.pdf
    
  • 1

    软件完成后,所有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版本的图像字典中确实存在/插值真实条目 . 这似乎不是减慢渲染速度的主要问题 .

    The original JPEG

相关问题