10

我在 OS X (10.8.4) 上使用 GPL Ghostscript 9.07 (2013-02-14) 将许多 PDF 转换为 PNG。

它工作正常,除了其中一个 PDF 变成带有锯齿状边缘的 PNG。换句话说,Ghostscript 出于某种原因关闭了该特定 PDF 的抗锯齿功能。

有问题的 PDF 文件

输出:

在此处输入图像描述

在其他情况下,它可以正常工作(示例:pdf -> png)。

我使用这个命令:

gs -dNOPAUSE -dBATCH -dPDFFitPage -sDEVICE=pngalpha -g200x150 -sOutputFile=01.png 01.pdf

是否可以强制 Ghostscript 对该 PDF 使用抗锯齿功能?

任何提示表示赞赏。

4

3 回答 3

12

这对我有用:

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 将 ImageMagick 版本升级到 6.7.8 后,文本质量很差

以上适用于JPG;对于 PNG,将-sDEVICE选项替换为您的选择,例如:-sDEVICE=png16m

来源: http: //ghostscript.com/doc/current/Devices.htm

于 2014-07-05T15:41:11.100 回答
2

您可以尝试使用 -dGraphicsAlphaBits= 值 1,2 或 4,这可能会或可能不会有所不同。它对我有一些改进,但它是一个低分辨率的小图形,曲线很尴尬,所以没有预期的那么多。

或者您可以使用一种更灵活的抗锯齿设备(例如 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 会发生什么,但我怀疑这会产生影响,因为我很确定抗锯齿应用于着色的内部渲染,而不是边缘。

于 2013-07-10T07:25:56.910 回答
1

您可以尝试使用 Mitchell 过滤器函数来缩放每个输出像素的贡献的-dDOINTERPOLATE

于 2013-07-10T09:25:39.987 回答