ImageMagick convert pdf to jpeg has poor text quality after upgrading ImageMagick version to 6.7.8

25,809

Solution 1

I see the same problem with your sample file. It looks like ImageMagick's delegates for the PDF conversion may have changed with the new install.

If you try convert -verbose foo.pdf foo.jpeg, do you see -sDEVICE=pngalpha in the command that gets sent to gs? The pnmraw device has been used in the past, and switching back to that seems to fix the problem for me.

In ImageMagick's delegates.xml file (which may be in /etc/ImageMagick, but could be somewhere else depending on your setup), look for the decode="ps:alpha" delegate line and change -sDEVICE=pngalpha in the command to -sDEVICE=pnmraw. (You can probably just search for pngalpha in the file.)

Solution 2

it seem that problem at DPI. when convert pdf, imagemagick using Ghostscript. you can skip using 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

set -r option higher value. Ghostscript have default value is 100DPI.

or using convert option -density. this option set pdf converted DPI.

$ convert -density 200x200 foo.pdf foo.jpg
Share:
25,809
Kuf
Author by

Kuf

LinkedIn

Updated on February 02, 2020

Comments

  • Kuf
    Kuf over 4 years

    After upgrading ImageMagick text quality got degraded when convert pdf to jpeg:

    Old image enter image description here

    New Image enter image description here Conversion command: convert foo.pdf foo.jpeg

    Old ImageMagick version:

    [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
    

    generated files size:

    -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
    

    After upgrading 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
    

    generated files size:

    -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
    

    I've tried using antialias flag:

    convert -antialias  foo.pdf foo.jpeg
    

    Which did nothing, I've tried setting an higher quality:

    convert -quality 100 foo.pdf foo.jpeg
    

    and super sampling:

    convert -density 288 -background white -alpha off foo.pdf -resize 25%  foo.jpeg
    

    both gave bigger files and better results, but ran more time and had lower quality that the old ImageMagick version.

    any advises?

    Link to the file