提问者:小点点

所有PDF文件都压缩了吗?


所以这里有一些关于PDF压缩的线程说压缩PDF有一些,但不是很多,因为PDF已经被压缩了。

我的问题是:这是否适用于所有PDF,包括旧版本的格式?

此外,我确信有人(也许是白痴)有可能将位图放入PDF而不是JPEG等。我们公司的数据库中有很多PDF(也许是一些旧格式)。我们正在考虑在传输过程中使用gzip进行压缩,但不知道是否值得麻烦


共2个答案

匿名用户

一般来说,PDF对包含的对象使用内部压缩。但根据文件格式规范,这种压缩绝不是强制性的。所有(或部分)对象可能看起来完全未压缩,它们仍然是有效的PDF。

有一些命令行工具能够解压缩大多数(如果不是全部)内部对象流(甚至是最现代版本的PDF)-并且新的未压缩版本的文件将在屏幕或纸上呈现完全相同的(如果打印)。

所以回答你的问题:不,你不能假设gzip压缩只会增加麻烦而没有好处。你必须用你的文件的代表性样本集来测试它。只需gzip压缩它们,并注意使用的时间和节省的空间。

这也取决于使用的PDF生产软件的类型…

匿名用户

与应用gzip压缩相比,使用PDF实用程序对格式中的内容应用压缩以及删除不需要的嵌入字体等内容会获得更好的收益。此类实用程序可以对图像进行下采样并应用适当的图像压缩,这将比gzip更有效。JBIG2可以应用于双层图像,非常有效,JPEG可以应用于质量水平选择以满足您的需求的自然图像。在Acrobat Pro中,您可以使用Advanced-

更新:

Ika的回答有一个PDF优化实用程序的链接,可以从Java中使用。你可以在那里查看他们的示例Java代码。该代码准确地列出了我提到的事情:

  • 删除重复的字体、图像、ICC配置文件和任何其他数据流。
  • 可选择将高质量或打印就绪的PDF文件转换为小型、高效和网络就绪的PDF。
  • 可选择将大图像下采样到给定分辨率。
  • 可选择使用JBIG2和JPEG2000压缩格式压缩或重新压缩PDF图像。
  • 压缩未压缩的流并删除未使用的PDF对象。