PDF文件压缩

问题描述 投票:3回答:6

我需要动态生成和压缩大批PDF文件。

我正在考虑常用的算法

  • 邮政编码
  • 王牌
  • Rar

欢迎其他任何建议。

我的问题是哪种算法可能会给我最小的文件大小。速度和效率也是重要的因素,但是尺寸是我的首要考虑。

无论每个档案中有很多小文件还是更少的大文件,这也都有所不同。

我的大部分处理工作都将在PHP中完成,但是如果需要,我很乐意与第三方可执行文件对接。

编辑:

文档主要是发票,除公司徽标外,不应包含任何其他图像

php pdf compression archive
6个回答
6
投票

我在压缩PDF方面没有太大的成功。如前所述,它们在合成时已经被压缩了(尽管某些PDF合成工具允许您指定“压缩级别”)。如果可能的话,您应该采取的第一种方法是减小合成PDF的大小。

如果将PDF保留在单个文件中,它们可以共享任何公共资源(图像,字体),因此可以大大减小。请注意,这意味着一个大PDF文件,而不是一个内部有多个PDF的大ZIP。

根据我的经验,很难在PDF中压缩图像,并且图像对文件大小的影响最大。开始之前,请确保已优化图像。甚至值得在没有图像的情况下进行测试,只是为了查看图像的大小。

另一个组件是字体,如果您使用多种嵌入式字体,则将更多数据打包到文件中。只需使用一种字体来减小字体大小,或使用通常安装的字体,这样就无需嵌入它们。


1
投票

我认为7z是目前最好的,而RAR仅次于第二,但我建议您同时尝试两者,以找出最适合您的方法。


1
投票

如果您需要最小的文件大小,LZMA是最好的。

当然,PDF本身也可以压缩。


1
投票

我怀疑您通过压缩PDF是否会减少文件大小。但是,如果您要做的只是将多个文件收集到一个文件中,为什么不tar呢?


1
投票

过去,我们已经针对存储大量文本的大型(和许多)PDF执行了此操作-澳大利亚培训机构的培训包。它大约有96%的文字(课程信息等)和一些小图表。大小从1-2Mb到8或9Mb不等,通常以4或更大的容量出现。

我们发现使用Zip OK进行压缩可以获得良好的压缩效果,因为PDF格式已经被大量压缩,对于我们的用户而言,批量下载全部文件更容易使用,而不必担心文件大小。为了给您一个想法,一个2.31Mb的文件-大量文本,几个完整的页面图-在ZIP中压缩为1.92Mb,在RAR中压缩为1.90Mb。

我建议使用LZMA以获得最佳效果-也查看压缩和解压缩时的资源使用情况。

这些文件有多大?获取WinRAR,WinAce和7Zip的副本,并提前提供。


1
投票

用7压缩组合我的漂亮工具Precomp。它将PDF内的zLib流解压缩,以便7-Zip(或任何其他压缩器)可以更好地处理它们。您将获得文件大小的大约原始大小lossless的50%。此工具对PDF文件特别有效,但对其他压缩(zLib / LZW)流(如ZIP / GZip / JAR / GIF / PNG ...)也很好。

关于结果示例,请查看herehere。对于预压缩(PDF-> PCF)部分,速度可能很慢,但是对于重新压缩/重建(PCF-> PDF)部分,速度将会非常快。

[要获得比Precomp + 7-Zip更好的结果,您可以尝试lprepaq和prepaq变体,但要提防,尤其是prepaq是slooww :)-好的一面是prepaq提供了目前可用的最佳(PDF)压缩。

© www.soinside.com 2019 - 2024. All rights reserved.