“pdfimages”与“pdftoppm”有何不同?

“pdfimages”与“pdftoppm”有何不同?

为了使用 Scan Tailor 处理 pdf(为了删除拍摄的 pdf 页面的背景,或分割 pdf 页面),因为该程序需要输入图像 - 它无法输入 pdf 本身 - 我使用了类似的命令pdftoppm MY_PDF NAME_OF_IMAGE -png来处理低质量的 pdf,并且生成的图像比原始 pdf 更差。

在此输入图像描述

但用pdfimages工具得出的poppler-utils结果和原来一样好。

如果使用了不同的变量-png(或者没有使用变量且输出为ppm),则该值保持不变。

我认为从现在开始pdfimages对于我的目的来说这是一个更好的解决方案,但后来我注意到对于许多其他 pdf 文件来说该命令根本不好,因为它给出了图像或文本的片段,而其中pdftoppm给出了预期的正常文本。

如果从 pdf 中提取并pdfimages在 Dolphin 中查看,则会出现不良图像:

在此输入图像描述

如果从同一 pdf 中提取并pdftoppm在 Dolphin 中查看,则正确的图像:

在此输入图像描述

为什么会有这些差异?

答案1

差异源于工具的用途。一旦您意识到 PDF 是一种灵活的文件格式,这一点就会变得显而易见。它可以包含文本、矢量图形和光栅图像(此列表并不详尽)。您可能会将其视为“带有布局信息的 zip”(总体简化)。

  • pdftoppm将“渲染”或“光栅化”整个 PDF。所有文本和图形都将成为一张光栅化输出图像。
    由于嵌入的光栅图像的像素很少与输出“画布”的像素对齐,因此会发生插值并且质量下降。这可以通过显着提高输出分辨率(选项-r)来抵消。当然,这意味着文件大小也会增加。
  • pdfimages将从 PDF 文件中提取光栅图像。文本或矢量图形将被忽略。
    由于光栅图像是按原样提取的,因此保留了原始质量,但有关布局的信息丢失了。

如果您的输入 PDF 仅包含一张光栅图像而没有其他内容,则输出可能看起来相似。

在您的示例中,复印机的扫描功能尝试识别文本块以高质量存储它们。文档的其余部分(例如白色背景)以低质量存储以节省存储空间。正如您所发现的,这可能对某人有利,也可能不利。

相关内容