web-dev-qa-db-fra.com

ImageMagick PDF aux JPG donnent parfois un fond noir

J'ai ce qui suit:

ghostscript-fonts-5.50-24
ImageMagick-6.7.2-1
ghostscript-9.02-1

Que j'utilise pour créer une série de JPG pour chaque page en utilisant:

convert -density 175 -colorspace sRGB test.pdf -resize 50% -quality 95 test.jpg

Lorsque j'exécute cela sur ma machine Windows, tout semble fonctionner correctement, mais sur notre serveur Linux, nous avons le problème de fond noir.

Les JPG résultants ont un fond noir rendant l'image illisible, que me manque-t-il ou y a-t-il quelque chose que je devrais faire pour corriger cela?

Je suis sur Google depuis des jours, mais chaque suggestion ne semble pas fonctionner pour moi.

Toute aide est très appréciée, merci d'avance :)

MODIFIER

Je viens de remarquer cette sortie lors de la conversion de l'un des PDF qui produit le fond noir:

**** Warning: Fonts with Subtype = /TrueType should be embedded.
             The following fonts were not embedded:
                    Arial
                    Arial,Bold
                    Arial,BoldItalic
**** This file had errors that were repaired or ignored.
**** The file was produced by:
**** >>>> Microsoft« Word 2010 <<<<
**** Please notify the author of the software that produced this
**** file that it does not conform to Adobe's published PDF
**** specification.

Cela semble lié, mais comme nous n'avons aucun contrôle sur la façon dont les fichiers PDF sont produits, nous avons besoin d'un moyen de réparer ce côté serveur.

Merci encore

39
jhdevuk

La solution simple à ce problème consiste à utiliser un format d'image prenant en charge la transparence, tel que png.

Alors:

convert -density 175 -colorspace sRGB test.pdf -resize 50% -quality 95 test.png

Problème résolu :)

8
jhdevuk

Ran dans celui-ci aujourd'hui, a trouvé ceci:

https://www.imagemagick.org/discourse-server/viewtopic.php?t=20234

Sur cette base, ceux-ci devraient tous fonctionner:

  • -flatten
  • -alpha flatten
  • -alpha remove

J'utilise actuellement ce qui suit pour mon cas spécifique qui fonctionne très bien:

convert -thumbnail "1280x800>" -density 300 -background white -alpha remove in.pdf out.jpg
70
Tapio Saarinen

Si vous voulez un résultat de haute qualité, utilisez cette commande:

convert -density 700 input.pdf -resize 25% -append  -quality 98 -alpha remove output.jpg

Pour les utilisateurs de Windows, utilisez magick au lieu de convert

0
sancho21