La generación de miniaturas con imagemagick no muestra los colores correctos

La generación de miniaturas con imagemagick no muestra los colores correctos

Generando miniaturas de archivos PDF con imagemagicka vecesrepresenta colores incorrectos. Estamos usando una versión antigua de imagemagick (6.5.7-8, esa es la versión instalada en los servidores heroku). Aquí está el comando que estamos usando actualmente:

convert \
  -size "725x1200>" \
  -colorspace RGB \
  -flatten \
  -density 300 \
  -quality 100 \
   input.pdf \
   output.jpg

Intenté usar diferentes espacios de color como sRGB, YIQ, ... pero ninguno de ellos reproduce el color correctamente.

El uso de imagemagick-6.7.7-6 localmente funciona, así que intenté agrupar el comando 'convertir' dentro del directorio /bin de mi aplicación, el comando funciona pero el resultado sigue siendo incorrecto, por lo que parece que el problema proviene de otro imagemagick. comando utilizado por 'convertir' o de otra biblioteca.

A continuación se muestra un ejemplo de las salidas:

  • Salida correcta: a la izquierda
  • Salida incorrecta: a la derecha
    Salida correcta Salida incorrecta

Curiosamente, con algunas páginas del mismo pdf el resultado siempre es correcto. ¿Alguna idea de qué biblioteca o comando podría ser el problema, o si hay un conjunto adecuado de opciones para pasar a imagemagick para hacerlo siempre bien?

Respuesta1

Después de investigar un poco más, parece que el problema proviene de Ghostscript al que le falta la -dUseCIEColoropción. Y por lo que he recopilado en la web, no es posible pasar parámetros a GhostScript a través de Imagemagick. Sin embargo, lo que es posible es llamar a los 2 comandos junto con una tubería:https://stackoverflow.com/questions/653380/converting-a-pdf-to-png

Mi caso de uso específico

Esto es un poco más específico para mi caso de uso, pero pensé que alguien podría estar interesado. Mientras generamos miniaturas a través de Paperclip en nuestra aplicación Rails, creé un nuevo procesador de clips para encargarse de la conversión de pdf a jpg y luego imagemagick se hace cargo de realizar el cambio de tamaño habitual. Mi código con un ejemplo aquí:https://gist.github.com/3059321

información relacionada