PDFs zusammenfügen / splitten via Command Line

Posted by on 04 May 2010 | Tagged as: CLI, Debian, hyper_ch, Ubuntu

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.pdf

Dies 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 gs

Wenn 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/combinepdf

Und 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.pdf

Ich 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 pdftk

Danach 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.pdf

Ebenfalls kann man auch Wildcards verwenden (praktisch wenn man alle PDFs in einem Verzeichnis in ein neues zusammenführen will):

pdftk *.pdf cat output combined.pdf

Anstelle der Dokumentennamen kann man auch Handlers verwenden:

pdftk A=1.pdf B=2.pdf cat A B output 12.pdf

Die 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.pdf

Schlussbemerkung

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.

2 Responses to “PDFs zusammenfügen / splitten via Command Line”

  1. on 08 Dec 2012 at 9:48 1.Frank said …

    Danke, gut geschrieben

  2. on 08 Dec 2012 at 9:58 2.hyper_ch said …

    @ Frank

    Schau dir auch noch das an:

    http://www.simplylinux.ch/pdf-helferlein-fur-dolphin-kde