Frage Wie füge ich mehrere PDF-Dateien zusammen?


Es gibt eine Menge Software in Windows, um PDF-Dateien zusammenzuführen, aber wie können wir dasselbe in Ubuntu machen?


281
2017-08-21 06:11


Ursprung


ich fand dieser Link - Grijesh Chauhan


Antworten:


PDF-Shuffler  Install PDF-Shuffler 

Wenn Sie ein Werkzeug mit einer einfachen GUI möchten, versuchen Sie es pdfshuffler. Es ermöglicht das Zusammenführen von PDFs sowie das Neuanordnen und Löschen von Seiten. Für die Stapelverarbeitung und / oder kompliziertere Aufgaben ist pdftk natürlich leistungsstärker.

Screenshot of PDF-Shuffler


171
2017-08-21 10:08



Ich habe es versucht - am 10.04 hat es nicht geklappt - David Oneill
Am 12.04 beschwert sich pdfshuffler immer, dass es "zu viele Werte zum Entpacken" gibt, wodurch es unbrauchbar wird. - despens
Installiert und funktioniert wie ein Zauber am 14.04. Vielen Dank!! - Zlatty
Ich kann das auch bestätigen pdfshuffler funktioniert am 14.04 am64. - conualfy
Funktioniert auch großartig am 16.04.1 - Sanjay Manohar


pdftkInstall pdftk

Um zwei PDF-Dateien zusammenzuführen, file1.pdf und file2.pdf:

pdftk file1.pdf file2.pdf cat output mergedfile.pdf

Weitere Informationen verfügbar HierWeg zurück Maschine.


274
2017-08-21 07:42



pdftk ist fehlerhaft - bugs.launchpad.net/ubuntu/+source/pdftk/+bug/779908. gs könnte langsam sein, funktioniert aber perfekt [IgnitEs Antwort] - Pushpak Dagade
Vielen Dank! Pdftk macht die einfache, grundlegende Verschmelzung ganz gut. Mehr als genug für meine Bedürfnisse. YMMV. - Marky
@PushpakDagade Ghostscript vermasselt Anmerkungen, insbesondere Kommentare, die geprüft wurden (Kontrollkästchen mit Häkchen markiert), haben dieses Häkchen nicht mehr. Ich bin mir nicht bewusst, um was es geht. Wenn Sie PDF v1.5 + 1.6 zusammenführen, ist die Ausgabe standardmäßig 1,4. Das ist ein seltsames Verhalten. - Jonathan Komar
pdftk hat eine ungewöhnliche Verwendung wo Befehle cat und output folgen Sie variadic Eingabeargumenten und folgen Sie erneut einem Ausgabeargument. - Jeff Puckett
Das Paket scheint im Jahr 2018 entfernt worden zu sein. - Nicolas Raoul


Ghostscript ist ein Paket (in Ubuntu standardmäßig verfügbar), mit dem Sie PostScript- und PDF-Dateien in anderen Formaten anzeigen oder drucken oder in andere Formate konvertieren können.
Um Ghostscript zum Kombinieren von PDF-Dateien zu verwenden, geben Sie Folgendes ein:

gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dAutoRotatePages=/None -sOutputFile=finished.pdf  file1.pdf file2.pdf

Hier ist eine kurze Erklärung des Befehls:

gs         starts the Ghostscript program.
-dBATCH    once Ghostscript processes the PDF files, it should exit.
           If you don't include this option, Ghostscript will just keep running.
-dNOPAUSE  forces Ghostscript to process each page without pausing for user interaction.
-q         stops Ghostscript from displaying messages while it works
-sDEVICE=pdfwrite 
           tells Ghostscript to use its built-in PDF writer to process the files.
-sOutputFile=finished.pdf
           tells Ghostscript to save the combined PDF file with the specified name.
-dAutoRotatePages=/None
           Acrobat Distiller parameter AutoRotatePages controls the automatic orientation selection algorithm: For instance: -dAutoRotatePages=/None or /All or /PageByPage.

Ihre Eingabedateien müssen nicht einmal PDF-Dateien sein. Sie können auch PostScript- oder EPS-Dateien oder eine beliebige Mischung aus den drei Dateien verwenden.

Mit Ghostscript können Sie viel tun. Du kannst es lesen Dokumentation für mehr Details.

Quelle


125
2018-02-17 02:27



Stimmt, aber das ist es unglaublich langsam. Ich habe gerade versucht, 45 x 400K Einzelseiten-PDFs zu verketten. pdftk nahm 0m0.484s, gs nahm 1m32.898s (das ist fast 200x langsamer) Die Datei von gswar aber ca. 21% kleiner. - aidan
Dieser Befehl funktioniert auch, wenn Sie einen Platzhalter für die Liste der zu kombinierenden Dateien verwenden. zum Beispiel ersetzen file1.pdf file2.pdf mit file*.pdf - Antonios Hadjigeorgalis
Für mich gs arbeitete mit einigen "non conformant" PDFs wo pdftk würde einfach für immer laufen. - ntc2
Dies funktionierte perfekt für meine Bedürfnisse! - dsh
@AntoniosHadjigeorgalis Nur als Referenz und gutes Verständnis: das ist nicht der Befehl, der Wildcards unterstützt, das ist eigentlich die Shell-Ersetzung file*.pdf mit file1.pdf file2.pdf bevor die Argumente an den Befehl übergeben werden. - Midgard


Sie verwenden pdfunite auch zum Zusammenführen von PDF-Dokumenten:

pdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf

55
2017-11-12 12:09



WARNUNG: Eine vorhandene Datei out.pdf wird ohne Warnung überschrieben, also pdfunite *.pdf wird nicht wie erwartet funktionieren. - krlmlr
@krlmlr Sie können die Ausgabe immer in ein anderes Verzeichnis einfügen. - BЈовић
Meinetwegen, cp überschreibt auch das letzte Argument ohne Warnung. Dies ist nur für eilende Benutzer (wie ich) - ich hatte Glück, dass ich eine Sicherungskopie der Datei in Frage hatte ... - krlmlr
Upvote: Dies ist ein einfaches Befehlszeilentool ohne eine Click-and-Drool GUI wie viele der anderen Antworten hier. Es kapselt die Komplexität der (weitgehend äquivalenten) GhostScript-Lösung. - tripleee
Dies ist auch sehr schnell. Macht die Arbeit gut. Auf einem sehr langsamen Server (aws t1.micro) dauert gs 9 Sekunden, pdftk dauert 4 Sekunden und diese pdfunit dauert 0,9 Sekunden zum Zusammenführen von zwei Dateien! - rsmoorthy


PDF-Kette  Install PDF Chain 

Eine sehr schöne Lösung ist PDFChain. Es ist GUI ein Frontend von PDFTK, wo Sie Ihre PDF-Dateien zusammenführen, teilen oder sogar Hintergrund hinzufügen können.


33
2018-01-31 16:16



Dies ist die beste Antwort. Es funktioniert perfekt, unabhängig von der Ubuntu-Version. - Paulo Coghi
Habe ohne Probleme an Ubuntu 14.04 gearbeitet! - my account_ram
Funktioniert super auf Ubuntu 18.04! - orschiro
so goo, dass es in 18.04 (!?) aus ubuntu software entfernt wurde - user2413


Probieren Sie PDFMod aus dem GNOME-Projekt:

https://wiki.gnome.org/Apps/PdfMod


10
2017-09-16 21:35



fusioniert nicht. - user2413


Ich benutze pdfseparate, um bestimmte Seiten aus einer großen PDF-Datei zu extrahieren:

pdfseparate -f  156 -l 157 input.pdf  output_%d.pdf 
pdfseparate -f  1   -l 2   input.pdf  output_%d.pdf 

und nachher schließe ich mich allen über den Befehl an:

pdfunite $(ls -v output_*.pdf | tr '\n' ' ') out$(date  +%Y-%m-%d_%H_%M_%S ).pdf

Dies schließt sich an:

output_1.pdf output_2.pdf output_156.pdf output_157.pdf  

in:

out2014-12-14_23_25_36.pdf

Vielleicht gibt es einen einfacheren Weg, um damit klarzukommen ... :-)


6
2017-12-14 22:37



Die Prozesssubstitution ist überflüssig und möglicherweise sogar schädlich. Eine korrekte und viel einfachere Befehlszeile ist pdfunite output_*.pdf out$(date +%Y-%m-%d-%H_%M_%S).pdf aber es fehlt die Ordnung von ls -v. Eine naheliegende und triviale Lösung besteht darin, Ihre Dateien so zu benennen, dass sie in der Reihenfolge sortiert werden, in der sie enthalten sein sollen. Wenn du unbedingt willst ls -vDu kannst wenigstens die Pfeife verlieren tr, die hier nichts bewirkt. - tripleee