升级ImageMagick
文字质量在将pdf转换为jpeg后降级了:
旧图片
新图片
转换命令:convert foo.pdf foo.jpeg
旧的ImageMagick版本:
[root@home]# convert -version
Version: ImageMagick 6.2.8 05/07/12 Q16 file:/usr/share/ImageMagick-6.2.8/doc/index.html
Copyright: Copyright (C) 1999-2006 ImageMagick Studio LLC
生成的文件大小:
-rw-r--r-- 1 root root 139K Apr 2 16:11 foo-0.jpeg
-rw-r--r-- 1 root root 130K Apr 2 16:11 foo-1.jpeg
-rw-r--r-- 1 root root 334K Mar 24 14:27 foo.pdf
升级ImageMagick后
[root@home]# convert -version
Version: ImageMagick 6.7.8-10 2012-08-17 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC
Features: OpenMP
生成的文件大小:
-rw-r--r-- 1 root root 60K Apr 2 16:11 foo-0.jpeg
-rw-r--r-- 1 root root 55K Apr 2 16:11 foo-1.jpeg
-rw-r--r-- 1 root root 334K Mar 24 14:27 foo.pdf
我尝试过使用antialias
标志:
convert -antialias foo.pdf foo.jpeg
哪个没做,我尝试设置更高的quality
:
convert -quality 100 foo.pdf foo.jpeg
convert -density 288 -background white -alpha off foo.pdf -resize 25% foo.jpeg
两者都提供了更大的文件和更好的结果,但运行时间更长,质量低于旧的ImageMagick版本。
任何建议?
答案 0 :(得分:34)
我发现您的示例文件存在同样的问题。看起来ImageMagick的PDF转换代表可能已随新安装而改变。
如果您尝试convert -verbose foo.pdf foo.jpeg
,您是否在发送给gs的命令中看到-sDEVICE=pngalpha
? pnmraw设备过去一直在使用,切换回来似乎可以解决我的问题。
在ImageMagick的delegates.xml
文件中(可能在/ etc / ImageMagick中,但可能在其他位置,具体取决于您的设置),请查找decode="ps:alpha"
委托行并更改-sDEVICE=pngalpha
in -sDEVICE=pnmraw
的命令。 (您可以在文件中搜索pngalpha。)
答案 1 :(得分:9)
DPI 似乎有问题。转换pdf时,使用 Ghostscript 进行imagemagick。你可以跳过使用imagemagick。
$ gs -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dGridFitTT=2 -dUseCropBox -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r200x200 -sDEVICE=jpeg -dJPEGQ=100 -sOutputFile=foo-%05d.jpg foo.pdf
设置-r选项更高的值。 Ghostscript 默认值为100DPI。
或使用转换选项-density。此选项设置pdf转换DPI。
$ convert -density 200x200 foo.pdf foo.jpg
答案 2 :(得分:0)
PDF文件是矢量文件,没有特定的大小。通过在PDF文件中读取之前定义密度和单位来控制它们的大小。通过超级采样,您可以获得相同的所需输出文件大小的更好质量。这意味着将PDF栅格化为较大的尺寸,然后调整为所需的实际尺寸。例如在ImageMagick中:
convert -units pixelsperinch -density 288 image.pdf -resize 25% output.jpg
如果不使用,则标称密度为72 dpi。所以72 * 4 = 288。然后调整大小1/5 = 25%恢复到相同的默认大小,但应该看起来好多了。根据需要更改密度或调整大小以处理质量和最终尺寸。