【问题标题】:Why does the combination pdf2ps / ps2pdf shrink the PDF?为什么组合 pdf2ps / ps2pdf 会缩小 PDF?
【发布时间】:2015-07-07 11:21:22
【问题描述】:

在研究如何压缩一堆带有图片的 PDF 时(最好是无损方式,但我会接受有损),我发现很多人建议这样做:

$ pdf2ps file.pdf
$ ps2pdf file.ps

这行得通!生成的文件更小,至少看起来足够好。

  • 如何/为什么这样做?
  • 在此过程中我可以调整哪些设置?
  • 如果有一些有损转换,那是哪一个?
  • 问题在哪里?

【问题讨论】:

  • 如果您使用 pdf2ps 生成的 PDF 文件,如果您将其与 file.ps 进行比较,它是否会发生任何变化?
  • 是的,有很多变化。仅作说明:原始为 2.9 MB,第一个 PS 为 3.2 MB,压缩 PDF 为 0.5 MB,最后一个 PS 为 3.6 MB...
  • 你能发布示例文件吗?我怀疑您在此过程中丢失了字体信息。您可以从最终 PDF 中复制/粘贴文本吗?它在原版中有效吗?文件在显示时看起来是否相同?你试过放大/缩小吗?
  • 抱歉,我不应该发布这些 PDF。检查显示它们基本上是存储在 PDF 中的 JPEG 图像(我可以看到伪影),最终结果只是有更多伪影 - 可能是较低的 JPEG 质量设置。但是,我正在寻找有关这 2 个命令如何工作的一般见解。

标签: pdf compression


【解决方案1】:

推荐此程序的人很少会根据专业知识或知识背景这样做 - 它是基于直觉。

通过 PostScript 生成新的 PDF 并返回(也称为“重新处理 PDF”)不会给您带来最佳结果。有时它很有用,f.e.如果原始 PDF 根本没有打印,或者其他应用程序无法处理。但这种情况非常罕见。

无论如何,这种“往返”转换永远不会产生与最初相同的 PDF 文件。

此外,pdf2psps2pdf 工具根本不是独立的工具:它们只是围绕 Ghostscript(gsgswin32c.exe)命令行的简单包装脚本。您可以通过以下方式自行检查:

cat $(which ps2pdf)
cat $(which pdf2ps)

这还将显示这些简单包装器用于相应转换的(默认)参数。

如果你运气不好,你会安装一个古老的 Ghostscript。然后由pdf2ps 生成的 PostScript 将是 1 级 PS,这对于更现代的 PDF 文件可以使用的许多字体来说将是“有损”的,从而导致先前矢量字体的光栅化。不完全是您想要查看的输出...

由于这两种工具都在使用 Ghostscript(但在你背后),你最好自己运行 Ghostscript。这使您可以更好地控制它使用的参数。特别有利的是,通过这种方式,您可以获得直接 PDF->PDF 转换,而无需通过中间 PostScript 文件格式走任何弯路。

以下是一些答案,可以为您提供一些关于可以使用哪些参数以在输出 PDF 中以半控制方式减小文件大小的提示:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 2018-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多