确定给定PDF文件的最佳压缩算法

时间:2018-08-04 19:32:20

标签: c# pdf compression docotic.pdf

我目前正在使用Docotic PDF库为托管大型扫描文档的PDF文件服务器编写压缩程序。 (目的是使最小的黑白字体保持可读的文档-主要是法律摘要)

在测试中,我注意到某些文件对JPEG压缩的响应更好,而另一些文件对Group3Fax或Flate的响应更好。是否可以分析文件并明智地决定哪种算法将生成最小的PDF,或者我实际上是用这三种算法来压缩每个文件并选择最小的算法-这会招致大量额外的CPU开销。

任何指导都将不胜感激。谢谢

1 个答案:

答案 0 :(得分:2)

如果PDF中的图像是单色的,我建议使用JBIG2压缩(如果可从您的PDF软件获得),则通常会超过组压缩。尽管如果您使用的是有损JBIG2,请务必小心(有关更改文本的地方可能出问题的详细信息,请参见我公司的blog)。

第3组压缩(尽管我建议使用第4组,如果可以的话,应该会提供更好的结果)仅适用于单色(1bpc)图像,JPEG适用于彩色或灰度图像(尽管并非所有PDF软件都支持该压缩)灰度)。 Flate与单色,灰度或彩色图像兼容。

由于它们是扫描图像,因此JPEG通常应超过Flate压缩,因此我想您无需同时压缩即可进行比较。在大多数情况下,JPEG2000(如果可从您的PDF软件获得)将超过JPEG。同样,在大多数情况下,组压缩应超过Flate。

除非图像本身很大或压缩算法不是最佳选择,否则压缩它们的开销不应该太大。