PDFs zusammenfügen / splitten via Command Line
Posted by hyper_ch on 04 May 2010 | Tagged as: CLI, Debian, Ubuntu, hyper_ch
Ab und zu muss ich verschiedene PDFs in ein Dokument zusammen fügen oder auch wieder teilen. Allerdings gibt es, nach meinem Wissensstand, keine guten OpenSource Gui Tools. Wer hingegen von der Command Line nicht abgeschreckt wird, kann dies mit einfachen Mitteln bewerkstelligen.
Ghostscript
Mit Ghostscript kann man einfach mehrere PDFs zusammen fügen. Dies dazu einfach folgenden Befehl eingeben:
gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combined.pdf -dBATCH 1.pdf 2.pdf 3.pdfDies würde die Dateien 1.pdf 2.pdf 3.pdf zusammenführen und neu combined.pdf erschaffen.
Allerdings muss dazu zuerst Ghostscript installiert werden:
sudo apt-get install gsWenn man das häufiger gebrauchen möchte, dann kann man auch ein Shell Script errichten:
sudo touch /usr/local/bin/combinepdf
sudo chmod 0755 /usr/local/bin/combinepdf
sudo nano /usr/local/bin/combinepdfUnd dann folgenden Inhalt einfügen:
#!/bin/bash
gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combined.pdf -dBATCH $@Die Ausgabedatei heisst hierbei wiederum combined.pdf und es können beliebig viele Dateien hinzugefügt werden.
Aufgerufen wird das dann folgendermassen:
combinepdf 1.pdf 2.pdf 3.pdfIch musste allerdings feststellen, dass Ghostscript bei eingescannten Bildern via XSane ein paar Schwierigkeiten hatte, aber ansonsten läuft es gut.
pdftk
pdftk beschreibt sich eigentlich als Schweizer Offiziersmesser für den Umgang mit PDF Dokumenten. Hier sind entsprechende Infos vorhanden.
Auch pdftk muss zuerst installiert werden:
sudo apt-get install pdftkDanach eröffnet es eine ganze Fülle an Möglichkeiten mit dem Umgang mit PDFs. Ich habe nachfolgend ein paar Beispiele aufgelistet:
Will man mehrere PDFs in eines zusammenführen, gibt man folgenden Befehl ein:
pdftk 1.pdf 2.pdf 3.pdf cat output 123.pdfEbenfalls kann man auch Wildcards verwenden (praktisch wenn man alle PDFs in einem Verzeichnis in ein neues zusammenführen will):
pdftk *.pdf cat output combined.pdfAnstelle der Dokumentennamen kann man auch Handlers verwenden:
pdftk A=1.pdf B=2.pdf cat A B output 12.pdfDie Handlers werden dann praktisch, wenn man verschiedene Seiten eines PDFs oder aus verschiedene Seiten aus mehreren PDFs in ein neues zusammenführen will:
pdftk A=one.pdf B=two.pdf cat A1-7 B1-5 A8 output combined.pdfSchlussbemerkung
Während Ghostscript von der Syntax her nicht einfach zu gebrauchen ist, ist es aber dennoch praktisch wenn man sich ein entsprechendes Shell Script erstellt. pdftk hingegen ist von Haus aus einfach zu gebrauchen und bietet auch viel mehr Möglichkeiten als die Ghostscript Variante.
No Comments »


