我在OS X(10.8.4)上使用GPL Ghostscript 9.07(2013-02-14)将许多PDF转换为PNG。
除了其中一个变成带有锯齿状边缘的PNG之外,它工作正常。换句话说,Ghostscript出于某种原因关闭了针对该特定PDF的抗锯齿。
输出:
在其他情况下,它可以正常工作(示例:pdf - > png)。
我使用这个命令:
gs -dNOPAUSE -dBATCH -dPDFFitPage -sDEVICE=pngalpha -g200x150 -sOutputFile=01.png 01.pdf
是否可以强制Ghostscript对该PDF使用抗锯齿?
任何提示都表示赞赏。
答案 0 :(得分:6)
这对我有用:
gs -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 -sDEVICE=jpeg -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r150 -sOutputFile=foo-%d.jpg foo.pdf
来源:ImageMagick convert pdf to jpeg has poor text quality after upgrading ImageMagick version to 6.7.8
上述内容适用于JPG;对于PNG,请替换-sDEVICE
选项,例如:-sDEVICE=png16m
答案 1 :(得分:2)
您可以尝试 -dDOINTERPOLATE ,它使用Mitchell过滤器功能来缩放每个输出像素的贡献
答案 2 :(得分:1)
您可以尝试使用值1,2或4的-dGraphicsAlphaBits =,它们可能有差异,也可能没有差异。它为我做了一些改进,但它是一个低分辨率的小图形,曲线笨拙,所以没有预期的那么多。
或者你可以使用一种更灵活的抗锯齿设备(例如tiffscaled)。 PNG输出没有消除锯齿的设备,但将TIFF转换为PNG将是微不足道的。
顺便说一句,您的PDF文件专门关闭了组件的抗锯齿:
8 0 obj
<</AntiAlias false/ColorSpace/DeviceCMYK/Coords[0.0 0.0 1.0 0.0]/Domain[0.0 1.0]/Extend[true true]/Function 10 0 R/ShadingType 2>>
您可能想尝试看看如果将AntiAlias更改为true会发生什么,但我怀疑这会产生影响,因为我很确定aniti-aliasing应用于阴影的内部渲染,而不是edgses