我希望减少pdf文件大小,不仅要减少图像DPI,还要改变JPEG压缩的质量设置。
首先我尝试了:
gs -dNOPAUSE -dQUIET -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/screen \
-dColorImageResolution=120 -dGrayImageResolution=120 \
-dUseFlateCompression=false -sOutputFile=test1.pdf \
-c "<< /GrayImageDict << /Blend 1 /VSamples [1 1 1 1] /QFactor 0.1 /HSamples [1 1 1 1] >> /ColorImageDict << /Blend 1 /VSamples [1 1 1 1] /QFactor 0.1 /HSamples [1 1 1 1] >> >> setdistillerparams " \
-f test.ps
其次我更改了Gray- / ColorImageDict条目并尝试:
gs -dNOPAUSE -dQUIET -dBATCH -sDEVICE=pdfwrite -dPDFSETTINGS=/screen \
-dColorImageResolution=120 -dGrayImageResolution=120 \
-dUseFlateCompression=false -sOutputFile=test2.pdf \
-c "<< /GrayImageDict << /Blend 1 /VSamples [2 1 1 2] /QFactor 2.4 /HSamples [2 1 1 2] >> /ColorImageDict << /Blend 1 /VSamples [2 1 1 2] /QFactor 2.4 /HSamples [2 1 1 2] >> >> setdistillerparams " \
-f test.ps
但两个命令的结果大小相同。
有什么建议是错误/误解或者如何增加JPEG压缩吗?
(版本:GPL Ghostscript 9.16)
感谢。
答案 0 :(得分:0)
最好分享一个示例文件和命令留置权,以便其他人可以重现您的发现。没有它,就不可能说出为什么你会得到你的结果。
您的命令行并不理想。您使用过其中一个罐装PDFSETTINGS,如果我是你,我不会这样做。使用默认值并更改要更改的默认值。你已经混合了命令行开关和对setdistillerparams的PostScript调用。最好只使用setdistillerparams。
最可能的原因是您没有在输出中获取JPEG,请注意您尚未禁用自动过滤器选择。如distiller params文档中所述,UseFlateCompression仅影响页面压缩,而不影响图像,并且在任何情况下都会在Ghostscript中修复为true(请参阅Ghostscript文档)。将其设置为false不会做任何事情。
所以我建议您发布一个示例文件,然后从那里开始。
哦,你应该使用当前版本,9.16是2岁。