pdf - 为什么 pdf2ps/ps2pdf 组合会缩小 PDF?

标签 pdf compression

在研究如何压缩一堆带有图片的 PDF 时(理想情况下以无损方式,但我会满足于有损)我发现很多人建议这样做:

$ pdf2ps file.pdf
$ ps2pdf file.ps

这有效!生成的文件更小,看起来至少足够好。
  • 这如何/为什么有效?
  • 在这个过程中我可以调整哪些设置?
  • 如果有一些有损转换,那是哪一个?
  • 渔获在哪里?
  • 最佳答案

    推荐此程序的人很少有专业知识或知识背景——而是基于直觉。

    通过 PostScript 生成新 PDF 并返回(也称为“重新创建 PDF”)的迂回路线永远不会为您提供最佳结果。有时它很有用,例如如果原始 PDF 根本没有打印,或者其他应用程序无法处理。但这些情况非常罕见。

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

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

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

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

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

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

    以下是一些答案,它们可以为您提供一些关于可以使用哪些参数的提示,以便在输出 PDF 中以半控制的方式减小文件大小:
  • Optimize PDF files (with Ghostscript or other) (StackOverflow)
  • Remove / Delete all images from a PDF using Ghostscript or ImageMagick (StackOverflow)
  • 关于pdf - 为什么 pdf2ps/ps2pdf 组合会缩小 PDF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29922289/

    相关文章:

    algorithm - 按准对数标度压缩

    pdf - 压缩没有ghostscript和只有ImageMagick的文本重的PDF会导致文本模糊

    javascript - 为什么我的计算总计在 Acrobat 中无法正确更新?

    javascript - 导出 HTML 表格

    java - 尝试使用 fileProvider 从 Assets 文件夹中打开 PDF 文件,但出现 FileNotFoundException : No such file or directory

    Linux,将图像组合成精确缩放的平铺 pdf。图像魔术?选择?

    selenium - 如何压缩 Selenium 客户端和 Selenium 服务器之间的传输

    java - 如何在 Java 中压缩 jpeg 图像而不丢失该图像中的任何元数据?

    compression - tinypng.org 如何压缩 PNG 文件?

    linux - 拆分大型 gz 文件同时保留行