Fusion d'images PNG en un seul fichier PDF [fermé]

89

Comment puis-je fusionner plusieurs .pngfichiers en un seul fichier PDF sous Unix?

twidizle
la source

Réponses:

149

En parcourant la documentation sur ImageMagick, cela peut être aussi simple que:

convert 1.png 2.png myfile.pdf

Si cela ne fonctionne pas, PDFjam prétend être en mesure de résoudre votre problème.

Jérémie Willcock
la source
5
C'est incroyable. Si facile. Il dimensionne automatiquement les images et tout .. J'adore l'open-source.
Nathan Wallace
Existe-t-il un moyen de contrôler la qualité du document ou la taille du fichier PDF obtenu? J'ai besoin de télécharger des documents avec une taille de fichier maximale de 2,5 Mio. J'ai essayé avec l' -qualityoption mais la taille du fichier est toujours d'environ 9,5 Mio.
arielnmz
Est-il possible d'ajouter des fichiers image à un pdf existant?
Kiran Reddy
3
Convertissez tous les fichiers dans un dossier d'un type spécifié en utilisantconvert *.jpg file.pdf
haakym
2
@arielnmz, vous pouvez compresser le fichier en utilisant les paramètres -compress jpeg -quality 50. Voir ma réponse
Michael Schmid
36

Si je veux fusionner certaines numérisations dans un fichier PDF, je fais ceci:

pdfjoin --a4paper --fitpaper false --rotateoversize false scan01.png scan02.png

Cela vous donne un document PDF avec une taille de page DIN-A4, où chaque pngfichier est centré sur sa propre page. Les images trop grandes pour une page DIN-A4 sont redimensionnées proportionnellement pour tenir sur une seule page. Les images plus petites ne sont pas redimensionnées (pas agrandies).

Vous devez nommer tous les pngfichiers sur la ligne de commande, mais vous pouvez également utiliser des caractères génériques pour par exemple fusionner tous les fichiers png dans le répertoire courant:

pdfjoin --a4paper --fitpaper false --rotateoversize false *.png

La pdfjoincommande fait partie de PDFjam comme mentionné dans la réponse de Jeremiah Willcock. Vous devrez donc probablement installer un package nommé pdfjamou texlive-extra-utilsavec votre gestionnaire de packages de distribution. PDFjam est capable d'utiliser des pngfichiers comme entrée depuis la version 2.07, publiée en 2010-11-13.

Pascal Rosin
la source
semble pdfjoin est parti et il n'y a maintenant qu'un outil différent appelé pdfunite qui ne combine que plusieurs fichiers PDF en un seul ...
Gregor
1
@Gregor Qu'est-ce qui vous fait dire que pdfjoin est parti?
Pascal Rosin
@Pascal_Rosin n'a pu le trouver ni dans Debian ni dans les dépôts Arch ...
Gregor
2
pdfjoinest disponible dans le texlive-extra-utilspackage sur certaines plates-formes. Vous pouvez également l'installer à partir de la source.
Mahmoud Al-Qudsi
10

L’ outil de conversion d’ ImageMagick est ma préférence.

Le programme de conversion fait partie de la suite d'outils ImageMagick. Utilisez-le pour convertir entre les formats d'image ainsi que pour redimensionner une image, flouter, rogner, éliminer les taches, tramer, dessiner, retourner, joindre, rééchantillonner, et bien plus encore.

convert [input-option] input-file [output-option] output-file`

Si vous voulez que les fichiers image (et donc, leur qualité et leur taille) soient inchangés, et placez simplement un conteneur PDF autour d'eux:

convert In.png In-2.png Someother-*.png Result.pdf

Si vous souhaitez avoir une taille de fichier plus petite et que vous acceptez une perte de qualité, vous pouvez d'abord les convertir au format JPEG. (ImageMagick prend également en charge la modification du niveau de compression PNG, mais généralement vos fichiers d'entrée utilisent déjà le niveau le plus élevé.)

convert 1.png 2.png -compress jpeg -quality 50 Result.pdf

Utilisez une valeur comprise entre 0 et 100 pour l' qualityoption.

Vous pouvez également atteindre une taille (et une qualité) de fichier inférieures en rééchantillonnant les images à une certaine résolution.

convert *.png 2.png -resample 300 Result.pdf

La valeur de resamplefait référence au nombre de pixels par pouce. ImageMagick lit la densité originale de la partie EXIF ​​des images d'entrée, en retombant à 72 dpi. Vous pouvez utiliser le densityparamètre pour définir une résolution personnalisée pour les images d'entrée.

Vous pouvez bien sûr aussi combiner les compress, qualityet les resampleparamètres.

Michael Schmid
la source
Quelqu'un ici sait comment annuler l'opération?
Andrei Cioara
Les fichiers image ne sont pas supprimés, mais vous pouvez les copier pour plus de tranquillité d'esprit. J'ai également eu le problème stackoverflow.com/questions/42928765/… à résoudre avant que cela ne fonctionne.
Audrius Meskauskas
Toute personne trouvant un problème pour convertir des images en pdf et voyant une erreur indiquant `` convertir non autorisé '', veuillez vérifier cette réponse: askubuntu.com/questions/1127260/imagemagick-convert-not-allowed
mardi
Récemment, imagemagick refuse la conversion PDF par défaut. Consultez cette question si vous rencontrez ce problème pour savoir comment modifier cette politique. stackoverflow.com/questions/52998331/…
user2565010
5

J'ai volé ça, mais c'est la solution que j'ai utilisée de Jeremiah Willcock et d'un autre site Web de réponses. Ne pas fouiller dans l'histoire pour le moment. J'ai menti, je l'ai fait. (Tully @ https://askubuntu.com/a/626301 )
J'avais besoin d'un fichier suffisamment petit pour être envoyé par courrier électronique.

Pour combiner des images dans un PDF (à partir du répertoire de travail, utilisez la ligne de commande:

user@box:/home/user/scans/:$ 
convert 1.png 2.png convertoutput.pdf

Pour réduire en utilisant ghostscript après la combinaison (j'ai utilisé presque sur le système par défaut de kde):

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/default \
   -dNOPAUSE -dQUIET -dBATCH -dDetectDuplicateImages -dCompressFonts=true \
   -r150 -sOutputFile=output.pdf convertoutput.pdf

Mon fichier contenait 14 images (19 Mo après la conversion, gs en faisait 1,6 Mo, la qualité était toujours excellente). Le fichier de sortie est appelé output.pdf.

pctech101
la source
Vous pouvez compresser le fichier directement avec convert , en utilisant les paramètres -compress jpeg -quality 50. Voir ma réponse
Michael Schmid
@MichaelSchmid La compression avec convert n'est pas aussi efficace. Cela ne réduit que la qualité jpeg alors que la solution gs change la résolution. Si vous l'essayez avec une image haute résolution, vous verrez l'ampleur de la différence de taille, même si vous optez pour une qualité jpg extrêmement faible.
mak
Oui, le rééchantillonnage pourrait en effet être plus efficace que la compression JPEG. Et ImageMagick prend également en charge cela. J'ai ajouté cette option dans ma réponse.
Michael Schmid le