Bonjour,

Je cherche à convertir un dossier de PDF en images à la volée à l'aide d'imagemagick en ligne de commande. Ces PDF sont en très haute définition et j'aimerais obtenir des images en corrélation.

Habituellement d'utilisais Gimp, quand je convertis ces PDF en 600dpi sous ce logiciel la qualité est super top. Mais bon, je ne me vois pas convertir plus de 500 images une par une avec Gimp... voilà pourquoi je me tourne vers ImageMagick, d'autant plus que convertir des fichiers images à la volée m'arrive de plus en plus souvent, j'aimerais donc bien maîtriser ce type d'outil.

Hélas, avec ImageMagick, par défaut j'obtiens des images très petites (genre 468x705), malgré le paramétrage d'une densité à 600dpi :
convert *.pdf -density 600 -quality 100 *.jpg

J'ai donc ajouté une commande `resize` (j'ai aussi essayé `scale`), l'image est bien en plus haute définition (genre 4680x7050), mais est pixélisée comme si j'étais resté à la définition par défaut :
convert *.pdf -resize 1000% -density 600 -quality 100 *.jpg

J'ai même pensé que cela pouvait provenir de l'ordre des commandes, mais cela ne change rien :
convert *.pdf -density 600 -resize 1000% -quality 100 *.jpg

Une idée ?

Question subsidiaire (mais moins cruciale) : comment garder le même nom pour le fichier de destination que celui d'origine ?
Modifié par Olivier C (03 Aug 2017 - 11:32)
Felipe a écrit :
peut-être utiliser les Script-fu de GIMP ?

J'y avais pensé mais je n'arrive pas à lancer le truc en ligne de commande... Et puis bon ImageMagick est un incontournable, alors quitte a se casser les dents sur l'un des deux trucs autant essayer la techno qui semble la plus hip.
J'ai posé ma question sur StackOverflow et j'ai eu une réponse pertinente (incluant aussi ma deuxième question), je vous la poste si ça peut intéresser quelqu'un :
for f in *.pdf; do convert -density 600 "$f" "${f%pdf}jpg"; done

Le rendu des images est nickel.

ÉDIT : j'ai trouvé un paramétrage assez proche de celui de Gimp :
for f in *.pdf; do convert -density 600 -blur 1x1 "$f" "${f%pdf}jpg"; done

Et enfin, la version sans boucle for avec le mot clef `mogrify` :
mogrify -format jpg -density 600 -blur 1x1 *.pdf

Modifié par Olivier C (05 Aug 2017 - 08:02)
Meilleure solution