web-dev-qa-db-fra.com

Les fichiers jpeg en pdf

J'ai plusieurs fichiers jpeg dans un répertoire, et je veux les convertir en pdf et les concaténer ensemble pour créer un document. Comment ceci peut être fait? Je préférerais la ligne de commande, car ce sera plus rapide.

232
lovespeed

Dans le package imagemagick, utilisez la commande convert:

convert *.jpg pictures.pdf

Vous obtiendrez un seul fichier PDF contenant tous les jpg du dossier actuel.

Installez IM avec:

Sudo apt-get install imagemagick

source: stackoverflow

Éditer: Notez que les images ne seront pas dans un ordre spécifique si elles ne sont pas numérotées. si vous en avez 10 ou plus, vous devez les nommer en terminant filename01.jpg ... filename99.jpg etc. Les zéros de gauche sont requis pour un ordre correct. Si vous avez 100 ou plus, 001 ... 999.

346
rosch
convert `ls -1v` file.pdf
  • Ce ls listera un fichier une fois dans un "ordre naturel" (1,2,3 ...) et procédera à la conversion.
31
Alex

Travaillé pour moi (MAIS avertissement! Désactive la compression et le résultat PDF sera énorme!):

convert page1.jpg page2.jpg +compress file.pdf

ou même:

convert -rotate 90 page\*.jpg +compress file.pdf

Sur ubuntuforums.org, le +compress l’aide à ne pas se bloquer. NOTE: le + compresse désactive la compression. La machine sur laquelle je travaillais à l'époque semblait être suspendue "pour toujours" (je n'ai pas attendu longtemps pour le savoir) sans l'option + compress. Votre kilométrage peut varier un peu! RTFM on imagemagick.org option -compress , peut-être expérimenter avec -compress <type> si vous avez des problèmes de compression lente/blocage pour trouver ce qui fonctionnera pour vous.

20
gaoithe

Malheureusement convert change la qualité de l'image avant de "l'insérer" dans le fichier PDF; il est donc préférable de mettre l'original jpg dans le fichier PDF, il est donc nécessaire d'utiliser img2pdf, je l'utilise commandes:

1) Ceci pour créer un fichier pdf à partir de chaque image jpg sans perte de résolution ni de qualité:

ls -1 ./*jpg | xargs -L1 -I {} img2pdf {} -o {}.pdf

2) Ceci pour concaténer les pages pdf en une seule:

pdftk *.pdf cat output combined.pdf

3) Enfin, j’ajoute un calque de texte OCRed qui ne modifie pas la qualité de l’analyse dans les fichiers PDF, de sorte qu’il peut être interrogé:

pypdfocr combined.pdf  

Alternativement à pypdfocr:

ocrmypdf combined.pdf combined_ocr.pdf  
13
Eduard Florinescu

Ouvrez un fichier jpg ou png avec LibreOffice Writer et exportez-le au format PDF.

J'espère que c'est un moyen simple d'exporter du pdf.

12
user359154

La solution suivante s'appuie également sur la variable convert d'ImageMagick, mais elle est un peu plus sophistiquée car:

  • Il permet à toutes les images d'avoir des dimensions différentes tout en conservant le format de page de sortie PDF (A4 dans l'exemple ci-dessous).
  • Il centre les images sur la page PDF.
  • Il vous permet de garantir un espace minimum entre les bordures de l’image et les bordures de page PDF, afin de permettre l’impression sans problème du PDF.
  • Cela ne change pas les données d'image. (La qualité de l'image n'est donc pas affectée. Le fichier PDF a à peu près la même taille que l'image. Vous pouvez ensuite extraire à nouveau les images d'origine avec pdfimages -j file.pdf img .) ne fonctionne qu'avec PNG - voir le commentaire de @dma_k ci-dessous.

Instructions:

  1. Utilisez mon script de cette réponse pour convertir chaque image en son propre fichier d'une seule page PDF avec un format de page A4 et une bordure de 5%.
  2. Concaténez tous vos fichiers d'une seule page PDF avec PDFtk comme suit:

    pdftk *.pdf cat output out.pdf
    
8
tanius