Comment puis-je fusionner plusieurs .png
fichiers en un seul fichier PDF sous Unix?
Réponses:
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.
-quality
option mais la taille du fichier est toujours d'environ 9,5 Mio.
convert *.jpg file.pdf
-compress jpeg -quality 50
. Voir ma réponse
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 png
fichier 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 png
fichiers 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 pdfjoin
commande fait partie de PDFjam comme mentionné dans la réponse de Jeremiah Willcock. Vous devrez donc probablement installer un package nommé pdfjam
ou texlive-extra-utils
avec votre gestionnaire de packages de distribution. PDFjam est capable d'utiliser des png
fichiers comme entrée depuis la version 2.07, publiée en 2010-11-13.
pdfjoin
est disponible dans le texlive-extra-utils
package sur certaines plates-formes. Vous pouvez également l'installer à partir de la source.
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' quality
option.
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 resample
fait 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 density
paramètre pour définir une résolution personnalisée pour les images d'entrée.
Vous pouvez bien sûr aussi combiner les compress
, quality
et les resample
paramètres.
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
.
-compress jpeg -quality 50
. Voir ma réponse