Kuf*_*Kuf 31 imagemagick pdf-conversion imagemagick-convert
升级后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
Run Code Online (Sandbox Code Playgroud)
生成的文件大小:
-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
Run Code Online (Sandbox Code Playgroud)
升级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
Run Code Online (Sandbox Code Playgroud)
生成的文件大小:
-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
Run Code Online (Sandbox Code Playgroud)
我尝试过使用antialias旗帜:
convert -antialias foo.pdf foo.jpeg
Run Code Online (Sandbox Code Playgroud)
什么都没做,我试过设置更高quality:
convert -quality 100 foo.pdf foo.jpeg
Run Code Online (Sandbox Code Playgroud)
和超级采样:
convert -density 288 -background white -alpha off foo.pdf -resize 25% foo.jpeg
Run Code Online (Sandbox Code Playgroud)
两者都提供了更大的文件和更好的结果,但运行时间更长,质量更低,旧的ImageMagick版本.
任何建议?
pot*_*toe 35
我看到你的示例文件存在同样的问题.看起来ImageMagick的PDF转换代表可能已随新安装而更改.
如果你尝试convert -verbose foo.pdf foo.jpeg,你-sDEVICE=pngalpha在命令中看到被发送到gs?pnmraw设备过去一直在使用,切换回来似乎可以解决我的问题.
在ImageMagick的delegates.xml文件中(可能在/ etc/ImageMagick中,但可能在其他位置,具体取决于您的设置),查找decode="ps:alpha"委托行并将-sDEVICE=pngalpha命令更改为-sDEVICE=pnmraw.(你可能只是在文件中搜索pngalpha.)
小智 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
Run Code Online (Sandbox Code Playgroud)
set -r选项更高的值.Ghostscript的默认值是100DPI.
或使用转换选项-density.此选项设置pdf转换后的DPI.
$ convert -density 200x200 foo.pdf foo.jpg
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22592 次 |
| 最近记录: |