如果你运行 Ghostscript -dPDFSETTINGS=/screen 这只是一种捷径。事实上,您会(隐含地)获得一大堆使用的设置,您可以使用以下命令进行查询:
gs \
-dNODISPLAY \
-c ".distillersettings {exch ==only ( ) print ===} forall quit" \
| grep '/screen'
在我的 Ghostscript (v9.06prerelease) 上,我得到以下输出(稍作编辑以增加可读性):
/screen
<< /DoThumbnails false
/MonoImageResolution 300
/ColorImageDownsampleType /Average
/PreserveEPSInfo false
/ColorConversionStrategy /sRGB
/GrayImageDownsampleType /Average
/EmbedAllFonts true
/CannotEmbedFontPolicy /Warning
/PreserveOPIComments false
/GrayImageResolution 72
/GrayACSImageDict <<
/ColorTransform 1
/QFactor 0.76
/Blend 1
/HSamples [2 1 1 2]
/VSamples [2 1 1 2]
>>
/ColorImageResolution 72
/PreserveOverprintSettings false
/CreateJobTicket false
/AutoRotatePages /PageByPage
/MonoImageDownsampleType /Average
/NeverEmbed [/Courier
/Courier-Bold
/Courier-Oblique
/Courier-BoldOblique
/Helvetica
/Helvetica-Bold
/Helvetica-Oblique
/Helvetica-BoldOblique
/Times-Roman
/Times-Bold
/Times-Italic
/Times-BoldItalic
/Symbol
/ZapfDingbats]
/ColorACSImageDict <<
/ColorTransform 1
/QFactor 0.76
/Blend 1
/HSamples [2 1 1 2]
/VSamples [2 1 1 2] >>
/CompatibilityLevel 1.3
/UCRandBGInfo /Remove
>>
我想知道您的 PDF 是否包含大量图像,以及这种转换是否会造成不受欢迎的事情(例如使用“错误”参数重新采样图像)会增加文件大小...
如果是这种情况(图片较多的 PDF),请告诉我,我会用一些建议更新这个答案....
更新
我查看了 DNA 提供的示例文件。有趣...
不,它确实不包含任何图像。
相反,它包含一个大流(使用 /FlateDecode 压缩),其中包含大约 700.000+ (!!) 个操作,主要是 PDF 语言中的单个向量操作,例如:
m (moveto),
l (lineto),
d (setdash),
w (setlinewidth),
S (stroke),
s (closepath and stroke ),
W* (eoclip),
rg 和 RG (setrgbcolor)
还有更多。
(该 PDF 代码的 AFAICS 编写效率非常低(但可以完成它的工作),因为它确实连接了许多短笔划而不是“长”笔划,并且几乎每个笔划都再次定义了颜色(即使它是和以前一样),并具有所有其他开销(开始笔划,结束笔划,...)。
Ghostscript 的-dPDFSETTINGS=/screen 在此处没有任何 效果(例如,没有要下采样的图像)。增加的文件大小(准确地说是 +48 kByte)可能是由于 Ghostscript 在解释文件时将一些内部描边等命令重新组织为不同的顺序。
所以对于 PDF 文件大小您无能为力 ...
- ...除非您将这些 PDF 页面中的每一个都转换为 REAL 图像,例如 PNG:
GS\
-o out72.png \
-sDEVICE=pngalpha\
L_2lambda_max_1wl_E0_1_zg.pdf
(我使用pngalpha 输出来获得透明背景。)'out.png' 的图像尺寸为259x213px,文件大小现在为70 kByte。但我敢肯定你不会喜欢它的质量:-)
输出质量“差”,因为 Ghostscript 使用 72 dpi 的默认分辨率。
既然你说你想要 300dpi,命令变成这样:
gs \
-o out300.png \
-sDEVICE=pngalpha \
-r300 \
L_2lambda_max_1wl_E0_1_zg.pdf
现在文件大小为 750 kByte,图像尺寸为1080x889 像素。
更新 2
由于好奇心这些天很流行... :-) ...我尝试在 Mac 上的 Adobe Acrobat X Pro 的帮助下减小文件大小。
你想知道结果吗?
执行 “另存为...(减小文件大小的 PDF)”——过去对我来说总是产生非常好的结果! -- 创建了一个 1,8++ MByte 文件 (+29%)。我想这绝对是把 Ghostscript 的性能(文件大小增加 +3%)放到了现实的角度!