So führen Sie PDFs mit Imagemagick zusammen (Problemlösung)

49697

Wenn ich versuche, zwei .pdf-Dateien mit Imagemagick zusammenzuführen

convert pdf1.pdf pdf2.pdf temp.pdf 

Die resultierende temp.pdf-Datei scheint eine sehr niedrige Auflösung zu haben. Wie kann ich die Auflösung wie in den Quelldateien beibehalten?

36

6 Antworten auf die Frage

45

Barns hat recht, aber wenn pdftk nicht funktioniert hat, versuchen Sie Ghostscript.

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=temp.pdf pdf1.pdf pdf2.pdf 
Perfekt und schnell gearbeitet - viel schneller als mit ImageMagick mit der -density-Markierung. Brionius vor 9 Jahren 0
Dies sollte die richtige Antwort sein. Nicht, dass ImageMagick nicht funktioniert. es funktioniert auch Wie @Brionius feststellte, ist gs * wesentlich schneller und die Qualität des resultierenden PDF ist erstklassig. Jagtesh Chadha vor 8 Jahren 0
Beachten Sie, dass Sie anstelle der Liste von pdf1.pdf und pdf2.pdf am Ende dieses Befehls * .pdf verwenden können, um alle in einem Ordner enthaltenen PDF-Dateien in ein einzelnes PDF-Format zu konvertieren. Colin D vor 6 Jahren 0
17
Richard

Der Konvertierungsbefehl von Imagemagick wird normalerweise zum Konvertieren von Bilddateien von einem Format in ein anderes verwendet. In diesem Fall ist es möglich, dass er tatsächlich eine interne Konvertierung durchführt, bevor die beiden "Bilder" (PDFs) in eine einzige Datei ausgegeben werden.

Ich würde vorschlagen, dass Sie das PDF Toolkit (pdftk) anstelle von http://www.accesspdf.com/pdftk/ verwenden.

Aus den Beispielen auf der Website sollte dies so einfach sein wie:

pdftk pdf1.pdf pdf2.pdf cat output temp.pdf 
Ich arbeite unter OS X 10.6.1 und habe versucht, pdftk über Macports zu installieren. Es scheint, dass pdftk auf Mac veraltet ist und die Installation nicht abgeschlossen werden würde. Also habe ich versucht, dies mit Imagemagick zu tun. vor 14 Jahren 0
Unter Ubuntu war pdftk kein Problem von apt zu installieren, und es gelang dem Trick umwerfend. Ich habe ImageMagick bereits zum erfolgreichen Zusammenfügen von PDFs verwendet. Da PDFs jedoch zuerst rasterisiert werden (verständlicherweise - es funktioniert nicht mit Vektoren), sieht es für die meisten Textdokumente nicht so gut aus. Aber pdftk hat super funktioniert - danke für den Vorschlag. Iguananaut vor 11 Jahren 0
16
juda

Wenn sich alle Dateien, die Sie zusammenführen möchten, im selben Ordner befinden:

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

Das Argument -density 150behält die Qualität der zusammengeführten PDF-Dateien.

Als Randbemerkung Ihrer gesamten PDF-Syntax können Sie den Befehl sub-ls weglassen: `convert -density 150 * .pdf output.pdf` Josh vor 9 Jahren 4
'* .pdf' und '$ (ls -rt * pdf)' können zu unterschiedlichen Ausgaben führen. shantanoo vor 6 Jahren 0
7
Leslie Pajuelo

Ich vergesse immer, wie man das macht, und finde diese Frage zuerst, wenn ich suche.

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

Das verknüpfte Beispiel hat die Dichte bei 144, die jedoch nie hoch genug war, um nicht pixelig zu wirken.

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

Sorry, der Link ist jetzt tot. Sablefoste vor 9 Jahren 0
3
haytona

Wenn Sie Linux ausführen, können Sie auch Poppler ausprobieren, der pdfunitedie Verkettungen bereitstellt, ohne die Auflösung zu verändern.

0
Barry Dmytro

Ich konnte keine Möglichkeit finden, zwei PDF-Dateien zusammenzufügen, während die Auflösung gut und der Text intakt blieb. Ich habe jedoch einen Weg gefunden, ihn in eine PNG-Datei mit hoher Auflösung zu konvertieren.

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 

Dies erfordert die ersten beiden Seiten von page.pdf und fügt sie zu einer nebeneinander liegenden hochauflösenden PNG-Datei zusammen.

Ändern der letzten Zeile in

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

wird zu einer PDF-Dokumentausgabe führen, wie ich später herausfand, nachdem ich mit pngtopnm, pnmtops und ps2pdf herumgespielt hatte.

-1 für den Vorschlag, ein (mögliches) Vektorbild zu rastern. Das ist nicht der richtige Weg. Marco vor 11 Jahren 2