rotate not jpg convert authorized imagemagick imagemagick-convert pdf-conversion

not - ImageMagick convierte pdf a jpeg tiene mala calidad de texto después de actualizar la versión de ImageMagick a 6.7.8



man convert (3)

Los archivos PDF son archivos vectoriales y no tienen un tamaño específico. Su tamaño se controla definiendo la densidad y las unidades antes de leer en el archivo PDF. Puede obtener una mejor calidad para el mismo tamaño de archivo de salida deseado mediante supersampling. Eso significa rasterizar el PDF a un tamaño grande y luego cambiar el tamaño al tamaño real deseado. Por ejemplo en ImageMagick:

convert -units pixelsperinch -density 288 image.pdf -resize 25% output.jpg

La densidad nominal si se deja fuera es de 72 dpi. Entonces 72 * 4 = 288. Luego, redimensiona 1/5 = 25% vuelve al mismo tamaño predeterminado, pero debería verse mucho mejor. Cambie la densidad o cambie el tamaño para tratar con la calidad y el tamaño final como desee.

Luego de actualizar ImageMagick calidad del texto se degradó al convertir pdf a jpeg:

Imagen antigua

Nueva imagen Comando de conversión: convert foo.pdf foo.jpeg

Versión antigua de 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

Tamaño de los archivos generados:

-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

Después de actualizar 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

Tamaño de los archivos generados:

-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

He intentado usar la bandera de antialias :

convert -antialias foo.pdf foo.jpeg

Lo que no hizo nada, he intentado establecer una quality superior:

convert -quality 100 foo.pdf foo.jpeg

y súper muestreo :

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

ambos dieron archivos más grandes y mejores resultados, pero pasaron más tiempo y tuvieron menor calidad que la versión anterior de ImageMagick.

¿Algún consejo?

Enlace al archivo


Parece que ese problema en el DPI . al convertir pdf, imagemagick utilizando Ghostscript . Puedes saltarte usando 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

establecer la opción -r mayor valor. Ghostscript tiene valor por defecto es 100DPI.

o utilizando la opción de conversión -densidad. esta opción establece pdf convertido DPI.

$ convert -density 200x200 foo.pdf foo.jpg


Veo el mismo problema con su archivo de muestra. Parece que los delegados de ImageMagick para la conversión de PDF pueden haber cambiado con la nueva instalación.

Si intenta convert -verbose foo.pdf foo.jpeg , ¿ve -sDEVICE=pngalpha en el comando que se envía a gs? El dispositivo pnmraw se ha utilizado en el pasado, y volver a cambiarlo parece solucionarme el problema.

En el archivo delegates.xml de ImageMagick (que puede estar en / etc / ImageMagick, pero podría estar en otro lugar dependiendo de su configuración), busque la línea de delegado decode="ps:alpha" y cambie -sDEVICE=pngalpha en el comando to -sDEVICE=pnmraw . (Probablemente puedes buscar pngalpha en el archivo).