是否压缩了所有PDF文件?

Rob*_*ely 14 compression pdf gzip

因此,PDF压缩中存在一些线索,说压缩PDF有一些但不是很多,因为PDF已经被压缩了.

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

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

Kur*_*fle 14

PDF 通常对其包含的对象使用内部压缩.但根据文件格式规范,这种压缩绝不是强制性的.所有(或某些)对象可能看起来完全未压缩,并且它们仍然可以生成有效的PDF.

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

所以回答你的问题:不,你不能认为gzip压缩只会增加麻烦而且没有任何好处.您必须使用代表性的文件样本集对其进行测试.只需gzip他们,并记下使用的时间和节省的空间.

它还取决于使用的PDF制作软件的类型......


Mar*_*ler 6

通过使用 PDF 实用程序对格式内的内容应用压缩以及删除不需要的嵌入字体等内容,您将获得更好的收益,而不是应用 gzip 压缩。此类实用程序可以对图像进行下采样并应用适当的图像压缩,这比 gzip 更有效。JBIG2 可以应用于双层图像并且非常有效,而 JPEG 可以应用于自然图像,并根据您的需要选择质量级别。在 Acrobat Pro 中,您可以使用“高级”->“PDF 优化器”来查看空间的使用情况,并有选择地攻击这些使用者。还有一个通用文档 -> 减少文件大小来自动应用这些减少。

更新:

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

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