web-dev-qa-db-fra.com

Comment fusionner des fichiers PDF: s avec Imagemagick (problème de résolution)

Quand j'essaie de fusionner deux fichiers .pdf avec Imagemagick

convert pdf1.pdf pdf2.pdf temp.pdf

le fichier temp.pdf résultant semble avoir une très faible résolution. Comment puis-je garder la résolution identique à celle des fichiers source?

41
jraja

Barns a raison, mais si pdftk ne fonctionne pas, essayez ghostscript.

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=temp.pdf pdf1.pdf pdf2.pdf
49
Sebastian Liem

La commande de conversion d’Imagemagick est normalement utilisée pour convertir des fichiers image d’un format à un autre. Dans ce cas, il est possible qu’une conversion interne soit effectivement effectuée avant de produire les deux "images" (PDF) dans un seul fichier.

Je vous suggérerais d'utiliser plutôt le PDF Toolkit (pdftk) http://www.accesspdf.com/pdftk/

D'après les exemples sur le site Web, cela devrait être aussi simple que:

pdftk pdf1.pdf pdf2.pdf cat output temp.pdf
19
Richard

Si tous les fichiers que vous souhaitez fusionner se trouvent dans le même dossier:

convert -density 150 $(ls -rt *pdf) output.pdf

l'argument -density 150 conserve la qualité des fichiers PDF fusionnés.

17
juda

J'oublie toujours comment faire cela et trouve cette question en premier lorsque je cherche.

convert -density 600 file1.pdf file2.pdf -resize 50% new.pdf

L'exemple lié a une densité de 144 mais n'a jamais été suffisamment élevée pour ne pas apparaître pixélisé.

http://web.archive.org/web/20130311071316/http://studio.imagemagick.org/pipermail/magick-users/2009-September/022958.html

8
Leslie Pajuelo

Si vous utilisez Linux, vous pouvez aussi essayer poppler qui fournit pdfunite qui concatène sans manipuler la résolution.

3
haytona

Je ne pouvais trouver aucun moyen de joindre deux fichiers pdf ensemble tout en conservant la résolution correcte et le texte intact, mais j'ai trouvé un moyen de le convertir en fichier png haute résolution.

pdftoppm -f 1 -l 1 -aa yes -aaVector yes -png -r 300 page.pdf > tmp1.png
pdftoppm -f 2 -l 2 -aa yes -aaVector yes -png -r 300 page.pdf > tmp2.png
convert tmp1.png tmp2.png +append -quality 100 page.png

Cela prend les deux premières pages de page.pdf et les joint dans un fichier png haute résolution côte à côte.

Changer la dernière ligne en

convert tmp1.png tmp2.png +append -quality 100 page.pdf

résultera en un document pdf tel que je le découvrirai plus tard après avoir bousillé pngtopnm, pnmtops, ps2pdf.

0
Barry Dmytro