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


43

Lorsque 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 conserver la résolution identique à celle des fichiers source?

Réponses:


53

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

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

Fonctionne parfaitement et rapidement aussi - beaucoup plus rapidement que d'utiliser ImageMagick avec l'indicateur -density.
Brionius

Cela devrait être la bonne réponse. Pas que ImageMagick ne fonctionne pas; ça marche aussi. Mais comme l'a noté @Brionius, gs est beaucoup plus rapide et la qualité du fichier PDF obtenu est excellente.
Jagtesh Chadha

Notez que vous pouvez utiliser * .pdf au lieu de la liste de pdf1.pdf et pdf2.pdf à la fin de cette commande pour convertir tous les pdf d'un dossier en un seul fichier PDF.
Colin D

J'ai eu quelques problèmes avec la police, certaines pages perdent leur police. Y a-t-il un moyen de le choisir?
Zloy Smiertniy

20

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 réellement effectuée avant de produire les deux "images" (PDF) dans un seul fichier.

Je suggérerais que vous envisagiez d’utiliser le PDF Toolkit (pdftk) à la place 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

Je suis sous OS X 10.6.1 et j'ai essayé d'installer pdftk via Macports. Il semble que pdftk soit obsolète sur Mac, l’installation ne se termine pas. J'ai donc essayé de le faire avec Imagemagick.

Sur Ubuntu, pdftk n’a posé aucun problème pour installer à partir d’apt, et il a parfaitement réussi. J'ai déjà utilisé ImageMagick pour assembler des PDF avec succès, mais comme il pixellise d'abord les PDF (ce qui est compréhensible, cela ne fonctionne pas avec les vecteurs), il semble moins performant pour la plupart des documents texte. Mais pdftk a bien fonctionné - merci pour cette suggestion.
Iguananaut

Super ... merci
Dan Ortega

Passons à celui-ci, pdftk fonctionne beaucoup mieux que ghostcript.
Dan Ortega

18

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 150conserve la qualité des fichiers PDF fusionnés.


5
Une note de côté sur votre syntaxe tout PDF, vous pouvez omettre la commande sub-ls:convert -density 150 *.pdf output.pdf
Josh

'* .pdf' et '$ (ls -rt * pdf)' peuvent générer un résultat différent.
Shantanoo



0

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

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


2
-1 pour suggérer de pixelliser une image vectorielle (possible). Ce n'est pas la voie à suivre.
Marco
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.