263 votes

Comment puis-je convertir une série d'images en PDF à partir de la ligne de commande sur Linux ?

J'ai un serveur de numérisation que j'ai écrit en CGI et en Bash. Je veux être en mesure de convertir un tas d'images (toutes dans un dossier) en PDF à partir de la ligne de commande. Comment cela peut-il être fait ?

0 votes

2 votes

17 votes

Utilisez img2pdf, pas ImageMagick. ImageMagick décode le JPEG, ce qui entraîne une perte de qualité des générations et est 10 à 100 fois plus lent que img2pdf.

479voto

Marvin Pinto Points 8292

En utilisant ImageMagick, vous pouvez essayer :

convert page.png page.pdf

Pour plusieurs images :

convert page*.png mydoc.pdf

8 votes

Que se passe-t-il si page*.png ne trie pas les images comme vous le souhaitez ? Par exemple, page_1.png, page_2.png ... page_10.png -> page_10 apparaîtra avant page_1.

0 votes

Si non trier - se trier et créer sa propre liste.

1 votes

C'est bien mais comment trier les fichiers tout en créant le fichier pdf?

32voto

ziesemer Points 15594

Utilisez img2pdf au lieu de convert de ImageMagick. Par exemple:

img2pdf im1.png im2.jpg -o out.pdf

Pour inclure toutes les images .jpg dans le répertoire de travail actuel:

img2pdf *.jpg -o out.pdf

Pourquoi img2pdf au lieu de convert?

Pour résumer les commentaires, convert d'ImageMagick:

  • décodage du JPEG résultant en une perte de génération;
  • est plus lent que img2pdf;
  • nécessite que la création de PDF soit activée (désactivée par défaut) en raison de problèmes de sécurité; et
  • présente des problèmes/limitations lors du traitement de nombreuses/grandes images.

48 votes

ImageMagick décode le JPEG, ce qui entraîne une perte de génération. Utilisez img2pdf à la place ; c'est aussi 10 à 100 fois plus rapide.

16 votes

Note : img2pdf a déménagé sur gitlab.mister-muffin.de/josch/img2pdf.

0 votes

@RobertFleming, Kelvin, vos suggestions sont géniales, dommage que nous ne puissions pas les ajouter comme une réponse appropriée à ce fil de discussion. Cheers

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X