【问题标题】:PDF with OCR text visible, how to hide it from existing PDF带有可见 OCR 文本的 PDF,如何从现有 PDF 中隐藏它
【发布时间】:2017-01-31 16:30:07
【问题描述】:

我有几个经过 OCR 处理的 PDF 文件(不是由我处理的)。它们包含扫描的图像和 OCR 文本。它们似乎在某些查看器(iPhone/iPad)中运行良好,但在其他查看器(macOS 上的 Preview.app)中运行良好,这使得它们阅读起来有些尴尬。

通过谷歌搜索,似乎文本和图像可能分层不正确或使用的字体有问题?我什至不确定我使用的词汇是否正确,因为我得到的大多数热门歌曲都毫无价值。

是否可以使用 ghostscript 或其他东西来批量修复这些文件?

“不良”渲染示例:

【问题讨论】:

    标签: pdf ocr ghostscript


    【解决方案1】:

    不看PDF文件就无法说出PDF文件(或查看器)出了什么问题,这也使得提出解决方案变得困难!

    您当然可以通过 Ghostscript 将文件运行到 pdfwrite 设备,并使用 -dFILTERTEXT 开关不处理文本。因此,生成的文档不会包含有问题的文本,但仍会包含图像。

    当然,这样就无法搜索或突出显示。

    您可以改用 -dFILTERIMAGE 来删除原始图像,留下文本。但是现在原始文档中不是文本的任何内容都会丢失。

    通常的“最佳实践”是在渲染模式 3 中绘制文本,这不会产生任何标记。这允许您查看原始图像,而不会干扰 OCR 文本。您使用的查看器可能不支持文本呈现模式,这将是查看器中的一个(相当严重的)错误。最新版本的 MacOS 似乎在 Quartz PDF 渲染引擎中有一些令人讨厌的错误。

    另一种方法是先绘制文本,然后将原始图像放在上面,但这很难出错,我怀疑它更可能是文本渲染模式。

    编辑 PDF 文件首先绘制文本,然后在文本之上绘制图像。底层文本不应出现。 mkl 在他的评论中是非常正确的。

    解决这个问题的正确方法是修复渲染不正确的消费者。正如我上面提到的,最新版本的 Quartz 似乎有一些相当严重的错误,您可能会选择向 Apple 提出这个错误。

    唯一的其他解决方案是通过一些会删除文本的东西来运行它。 Ghostscript 可以做到这一点,但有一些影响;首先,将不再可能从文档中搜索/复制/粘贴文本。其次,您需要运行相当复杂的命令行,以防止解压缩的 JPX 图像被重新压缩为 JPEG,这可能会导致质量下降。最后生成的文件大小会更大。

    【讨论】:

    • 感谢您的回复;我从中截取屏幕截图的 PDF 可用here。有什么工具可以用来检查 PDF 以查看文本使用了哪种渲染模式?
    • 似乎 ABBYY FineReader 12(用于创建文件)使用图像/文本分层方法。能否以编程方式重新排列它们?
    • 我怀疑更改 PDF 是否真的有帮助 - 任何显示给定 PDF 中的文字的 PDF 查看器都严重损坏,尝试在严重损坏的软件中解决此类问题通常是一场失败的战斗。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-11
    • 2022-10-30
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    相关资源
    最近更新 更多