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


216

J'ai un serveur de numérisation que j'ai écrit en cgi / bash et je veux pouvoir convertir un tas d'images (le tout dans un dossier) en pdf à partir de la ligne de commande. Comment cela peut-il être fait?




7
Utilisez img2pdf , pas ImageMagick. ImageMagick décode le JPEG, entraînant une perte de génération et est 10 à 100 fois plus lent que img2pdf.
Robert Fleming

1
sudo apt-get install gscan2pdf pour une utilisation simple et facile.
M Haziq

1
img2pdf $(find . -iname '*.jpg' | sort -V) -o ./document.pdfvous donnera document.pdfcontenant toutes les images avec l'extension jpg ou JPG dans le répertoire actuel - une image par page. document.pdftoutes les images seront classées en pages naturellement ( -Voption pour sort), il n'est donc pas nécessaire d'ajouter de zéros de tête lors de la numérotation des fichiers image.
Jimmix

Réponses:


411

En utilisant imagemagick , vous pouvez essayer:

convert page.png page.pdf

Ou pour plusieurs images:

convert page*.png mydoc.pdf

7
et 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
vcarel

38
Pour trier les fichiers, vous pouvez utiliser:ls page*.png | sort -n | tr '\n' ' ' | sed 's/$/\ mydoc.pdf/' | xargs convert
GaloisPlusPlus

26
Pour info, vous n'avez presque jamais besoin d'utiliser lsautre chose que d'afficher des fichiers ... c'est-à-dire ne pas analyser sa sortie. findest un outil beaucoup plus adapté. Voici un exemple convert $(find -maxdepth 1 -type f -name 'page*.png' | sort -n | paste -sd\ ) output.pdf. Gardez à l'esprit que la commande susmentionnée ne fonctionnera pas si vos chemins d'accès contiennent des espaces. L'ajout de personnages à échapper rend les choses un peu plus compliquées.
Six

20
C'est simple et ça marche très bien, merci! Pour éviter de générer d'énormes fichiers PDF, utilisez quelque chose commeconvert -compress jpeg -quality 85 *.png out.pdf
jlh

13
ImageMagick décode le JPEG, entraînant une perte de génération . Utilisez plutôt img2pdf ; il est également 10 à 100 fois plus rapide.
Robert Fleming

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.