Wie verschmelze ich mehrere PDF-Dateien?

346

Es gibt eine Menge Software in Windows, mit der PDF-Dateien zusammengeführt werden können, aber wie können wir das auch in Ubuntu tun?

Deependra Solanky
quelle
Ich fand diesen Link
Grijesh Chauhan

Antworten:

209

PDF-Shuffler Installieren Sie PDF-Shuffler

Wenn Sie ein Tool mit einer einfachen Benutzeroberfläche möchten, versuchen Sie es mit 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 leistungsfähiger.

Screenshot von PDF-Shuffler

Marcel Stimberg
quelle
Ich habe es versucht - es hat am 10.04. Nicht funktioniert
David Oneill
Am 12.04 beschwert sich pdfshuffler immer, dass es "zu viele Werte zum Entpacken" gibt, was es unbrauchbar macht.
Hört am
8
Installiert und funktioniert wie ein Zauber am 14.04. Vielen Dank!!
Zlatty
1
Ich kann auch bestätigen , pdfshufflerfunktioniert auf 14,04 amd64.
conualfy
2
Funktioniert auch am 16.04.1
Sanjay Manohar
334

pdftkInstallieren Sie pdftk

So fügen Sie zwei PDF-Dateien zusammen file1.pdfund file2.pdf:

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

Weitere Informationen finden Sie hier Way Back Machine .

Rojan
quelle
5
pdftk ist fehlerhaft - bugs.launchpad.net/ubuntu/+source/pdftk/+bug/779908 . gs mag langsam sein, aber funktioniert perfekt [Antwort von IgnitE]
Pushpak Dagade
@PushpakDagade Ghostscript verzerrt Anmerkungen, insbesondere Kommentare, die markiert wurden (Kontrollkästchen mit Häkchen markiert), haben dieses Häkchen nicht mehr. Ich weiß nicht, wie ich das umgehen soll. Wenn Sie PDF v1.5 + 1.6 zusammenführen, wird standardmäßig 1.4 ausgegeben. Das ist seltsames Verhalten.
Jonathan Komar
2
pdftk hat eine ungewöhnliche Verwendung, bei der Befehle catund outputverschiedene Eingabeargumente gefolgt von einem Ausgabeargument verwendet werden.
Jeff Puckett
3
Das Paket scheint im Jahr 2018.04 entfernt worden zu sein.
Nicolas Raoul
1
@NicolasRaoul Ich habe es gerade als Schnellinstallation heruntergeladen.
Max
161

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

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 der drei verwenden.

Mit Ghostscript können Sie viel anfangen. Sie können die Dokumentation für weitere Details lesen .

Quelle

entzünden
quelle
2
Stimmt, aber es ist unglaublich langsam. Ich habe gerade versucht, einseitige PDF-Dateien im Format 45 x 400 KB zu verketten. pdftkdauerte 0m0.484s, gsdauerte 1m32.898s (das ist fast 200x langsamer) Die Datei von gswar allerdings um 21% kleiner.
Aidan
2
Dieser Befehl funktioniert auch, wenn Sie einen Platzhalter für die Liste der zu kombinierenden Dateien verwenden. Ersetzen Sie beispielsweise file1.pdf file2.pdfmitfile*.pdf
Antonios Hadjigeorgalis
2
Bei mir wurde gsmit einigen "nicht konformen" PDFs gearbeitet, bei denen pdftkes nur ewig laufen würde.
NTC2
1
Verwenden Sie die -dPDFSETTINGS=/prepressOption Qualitätsverbesserung.
Vielen
6
@AntoniosHadjigeorgalis nur für Referenz- und gutes Verständnis: Das ist nicht der Befehl Platzhalter unterstützen, das ist eigentlich der Schale ersetzt file*.pdfmit file1.pdf file2.pdfbevor die Argumente zu dem Befehl übergeben.
Midgard
82

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

pdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf
BЈовић
quelle
12
WARNUNG: Eine vorhandene Datei out.pdfwird ohne Warnung überschrieben, pdfunite *.pdffunktioniert also nicht wie erwartet.
krlmlr
1
@krlmlr Sie können die Ausgabe jederzeit in ein anderes Verzeichnis verschieben.
BЈовић
Fair genug, cpüberschreibt auch das letzte Argument ohne Vorwarnung. Dies ist nur für rauschende Benutzer (wie ich) - Ich hatte Glück, dass ich eine Sicherungskopie der fraglichen Datei hatte ...
krlmlr
1
Positive Bewertung: Dies ist ein einfaches Befehlszeilentool ohne grafische Benutzeroberfläche, wie viele der anderen Antworten hier. Es fasst die Komplexität der (weitgehend äquivalenten) GhostScript-Lösung gut zusammen.
Tripleee
1
Das geht auch sehr schnell. Macht den Job gut. Auf einem sehr langsamen Server (aws t1.micro) benötigt gs 9 Sekunden, pdftk 4 Sekunden und diese pdfunite 0,9 Sekunden, um zwei Dateien zusammenzuführen!
rsmoorthy
34

PDF-Kette Installieren Sie PDF Chain

Eine sehr schöne Lösung ist PDFChain. Die GUI ist ein Frontend von PDFTK, mit dem Sie PDF-Dateien zusammenführen, teilen oder sogar Hintergrundinformationen hinzufügen können.

Vincenzo
quelle
Das ist die beste Antwort. Es funktioniert einwandfrei, unabhängig von der Ubuntu-Version.
Paulo Coghi
Arbeitete problemlos auf Ubuntu 14.04!
Mein account_ram
Funktioniert hervorragend unter Ubuntu 18.04!
orschiro
@ user2413 das ist ein Schnellspeicher, nicht die einzige Quelle für Software in Ubuntu. Der Versuch, in zu suchen, aptergab jedoch auch keine Ergebnisse: /
jena
11

Probieren Sie PDFMod aus, es stammt aus dem GNOME-Projekt:

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

Detnuomnu
quelle
Fügt sich nicht zusammen.
user2413
es hat sich in der Vergangenheit verschmolzen, jetzt ist es nur noch abgestürzt, ich habe stattdessen den pdfshuffler verwendet und es hat großartig funktioniert
jena
8

Ein alternativer Ansatz besteht darin, Latex wie in diesem Beitrag beschrieben zu verwenden ( ohne Root-Zugriff, vorausgesetzt, Sie haben pdflatex installiert): https://tex.stackexchange.com/questions/8662/merge-two-pdf-files-output-by- Latex

Dies ist nützlich, wenn Sie weder über die genannten Tools noch über Root-Rechte verfügen, aber über pdflatex.

Ich kopiere den folgenden tex-Code zum Zusammenführen file1.pdfund file2.pdf. Erstellen Sie eine Datei mit dem Namen output.texund setzen Sie:

\documentclass{article}
\usepackage{pdfpages}
\begin{document}
\includepdf[pages=-]{file1}
\includepdf[pages=-]{file2}
\end{document}

Und zum Kompilieren verwenden Sie einfach: pdflatex output.tex

Die zusammengeführte Datei wird als benannt output.pdf.

emre
quelle
6

Ich verwende 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 danach schließe ich mich allen per Kommando an:

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

Dies verbindet:

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 umzugehen ... :-)

Xerostomus
quelle
Die Prozessersetzung 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).pdfaber es fehlt die Reihenfolge ls -v. Eine offensichtliche und triviale Lösung besteht darin, Ihre Dateien so zu benennen, dass sie auf natürliche Weise in der Reihenfolge sortiert werden, in der Sie sie einschließen möchten. Wenn Sie unbedingt wollen ls -v, können Sie zumindest die Pfeife verlieren tr, was hier nichts bringt.
Tripleee
5

Verwenden Sie pdfsam http://www.pdfsam.org/, es ist sehr gut zum Teilen und Zusammenführen von pdfs

R.Sathish Kumar
quelle
1

Hier ist mein Ansatz:

  • Ich wollte, dass es leicht zugänglich ist, also habe ich in Nautilus eine Verknüpfung mit der rechten Maustaste erstellt (siehe https://help.ubuntu.com/community/NautilusScriptsHowto ).
  • Ich wollte, dass es sehr schnell geht, also habe ich pdfunite verwendet
  • pdfunite akzeptiert die Dateipfade nur in der Mitte des Befehls, daher musste ich mir den Kopf kratzen, um die Leerzeichen in den Dateipfaden zu verwalten. Daher bin ich davon ausgegangen, dass alle Dateipfade mit "/ home /" beginnen und mit ".pdf" enden.

Hier ist das Ergebnis:

#!/bin/sh
CLEANED_FILE_PATHS=$(echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS | sed 's,.pdf /home/,.pdf\\n/home/,g')
echo $CLEANED_FILE_PATHS | bash -c 'IFS=$'"'"'\n'"'"' read -d "" -ra x;pdfunite "${x[@]}" merged.pdf'

Juste fügen Sie dieses Skript in

/home/Ihr_Benutzername/.local/share/nautilus/scripts

und nennen Sie es "merge_pdfs.sh" (zum Beispiel). Machen Sie es dann ausführbar (Rechtsklick auf merge_pdfs.sh -> Registerkarte Berechtigungen -> Häkchen bei "Datei als Programm ausführen lassen"

Um PDF-Dateien zusammenzuführen, müssen Sie sie nur auswählen -> Rechtsklick -> Skripte -> merge_pdfs.sh und es wird eine "merged.pdf" -Datei im selben Verzeichnis erstellt

Ich hoffe es hilft!

max
quelle