Jeder LaTeX-Anwender muss oft eigene und fremde PDF-Dokumente weiterverarbeiten. Zu den zahlreichen verfügbaren Programmen zur PDF-Bearbeitung gehören beispielsweise GhostScript, die iText-Bibliothek und Xpdf.
Seit Ende 2003 gibt es zudem Pdftk, ein komfortables Kommandozeilenprogramm zur (Stapel-)Verarbeitung von PDF-Dateien. Wer an vielen PDF-Dateien gleiche oder ähnliche Operationen ausführen muss, sollte Pdftk als Werkzeug in die engere Wahl ziehen. Aber auch als Nutzer graphischer Oberflächen kann man sich dieses Programm dienstbar machen. In KDE gibt es dazu spezielle Konqueror-Menüs, unter Windows 2000 oder XP kann man Batch-Dateien mit Pdftk-Befehlen zum Kontextmenü hinzufügen.
Installation und Einsatz
Sie können das PDF-Toolkit in der aktuellsten Version von einer der Webseiten des Autors Sid Steward [7] herunterladen. Er bietet das unter der GPL stehende Programm unter anderem für Linux, Mac OS X (Panther), FreeBSD, Solaris und Windows an. Die plattformspezifische Installation erweist sich auf den getesteten Plattformen (Debian, SuSE Linux, Windows 2000, Windows XP) als unkompliziert.
Nach der Installation rufen Sie Pdftk aus einer Shell (oder der Windows-Eingabeaufforderung) auf. Der Befehl pdftk --help listet alle Kommandos und Optionen des Programms samt kurzer Hilfetexte auf. In der Tabelle "Pdftk-Operationen" finden Sie die wichtigsten Operationen sowie einige Erläuterungen dazu. Der generelle Aufruf des Programms zur Bearbeitung von PDF-Dateien lautet:
pdftk Eingabedatei(en) Operation [Option] output Ausgabedatei [Passworte] [Benutzerrechte]
Pdftk-Operationen
| Operation |
| Erläuterung | |
|---|---|---|---|
| attach_files | Fügt Dateien als Anlage an ein PDF-Dokument an. Die PDF-Datei kann auf diese Weise zu einer Archivdatei erweitert werden. | ||
| background | Versieht jede Seite eines PDF-Dokuments mit einem Wasserzeichen. Auf leere Flächen kann auch eine Art Stempel gesetzt werden. | ||
| burst | Zerlegt ein PDF-Dokument in einzelne Seiten. | ||
| cat | Fügt mehrere Dateien oder mehrere Seiten aus verschiedenen PDF-Dokumenten zu einer neuen PDF-Datei zusammen. | ||
| dump_data | Gibt Informationen zu einer PDF-Datei auf die Standardausgabe aus. | ||
| dump_data_fields | Gibt Informationen zu den Formularfeldern einer PDF-Datei auf die Standardausgabe aus. | ||
| fill_form | Füllt PDF-Formulare aus oder verbindet die Formulardaten mit dem Dokument. | ||
| unpack_files | Entpackt die angefügten Anlagen eines PDF-Dokuments in ein Verzeichnis. | ||
| update_info | Aktualisiert die Meta-Informationen (z.B. Autor, Titel, Thema) in einer PDF-Datei. |
Die Eingabedateien müssen stets im PDF-Format vorliegen. Für spezielle Operationen benötigt das Tool zusätzlich Textdateien in bestimmten Formaten. pdftk gibt eine oder mehrere PDF-Dateien und in bestimmten Fällen auch Textdateien aus.
Im folgenden haben wir einige Beispiele zusammengestellt, die einige interessante Anwendungen von pfdtk zeigen. Sie leuchten jedoch bei weitem nicht alle Möglichkeiten des Programms aus. Alle Beispieldateien zu diesem Artikel stehen Ihnen unter [2] für eigene Versuche mit pdftk zur Verfügung.
Sie können PDF-Dateien wie eine E-Mail durch Anhänge (attachments) ergänzen. Das Abspeichern der Anhänge beim Empfänger erfolgt zum Beispiel mit dem Adobe Reader (ab Version 6). Pdftk ermöglicht sowohl das Anhängen von Dateien an ein PDF-Dokument als auch das Abspeichern der Anhänge. Bis zum kürzlichen Erscheinen des Adobe Reader 7 stellte das für Linux-Anwender die einzige Möglichkeit dar, Attachments abzuspeichern.
Solche Anhänge kann man zum Beispiel nutzen, um einem PDF-Dokument Quelltexte oder einen Auszug aus der Literaturdatenbank hinzuzufügen. Man könnte auch Messdaten anhängen, um auf diese Weise die Aussagen des Dokuments zu ergänzen. Im folgenden Beispiel soll eine PDF-Datei mit ihrem Quelltext gemeinsam weitergegeben werden. Um die Quelldatei mit Pdftk in das PDF einzubinden, fügen Sie dies mit
pdftk Formular.pdf attach_files Formular.tex output Neu.pdf
an das PDF-Dokument an. Alternativ können Sie die Datei mit Hilfe von pdfLaTEX und attachfile an die fertige PDF-Datei anhängen. Der Empfänger entpackt den Quelltext und andere Anhänge seinerseits mit Pdftk in ein Verzeichnis:
pdftk Beispiel_anhang.pdf unpack_files output Source
In diesem Beispiel speichert Pdftk die Anhänge in das Verzeichnis Source ab. Ein solches Verzeichnis anzugeben, macht immer dann Sinn, wenn mehrere Dateien angehängt sein könnten.
Wasserzeichen und Hintergrundfarbe
Ähnlich wie mit dem LaTeX-Paket eso-pic kann man auch mit Pdftk Wasserzeichen in ein Dokument einbringen. Dazu dient die Operation background. Sie erlaubt zudem, das PDF nachträglich mit einem farbigen Hintergrund zu versehen.
Die als Wasserzeichen genutzte Grafik muss als PDF-Datei vorliegen. Sie können Sie beispielsweise in einem Vektorgrafikprogramm erstellen oder auch mit PostScript programmieren. Weist das Wasserzeichen nicht dieselbe Größe wie das Dokument aufweist, skaliert Pdftk es. Möchten Sie ein Dokument mit dem Stempel "ENTWURF" versehen, erstellen Sie zunächst ein PDF im entsprechenden Seitenformat und rufen dann Pdftk wie folgt auf:
pdftk Beispiel.pdf background Entwurf.pdf output Entwurf1.pdf
Auf unbeschriebenen Teilen des Dokuments wirkt das Wasserzeichen wie ein Stempel. Ein elektronisches Blatt Papier mit einer passenden Hintergrundfarbe kann man zum Beispiel in einer kleinen EPS-Datei erstellen. Die entsprechenden PostScript-Befehle für ein A4-Blatt lauten:
%!PS-Adobe-2.0 %%BoundingBox: 0 0 595 842 0.95 0.95 0.90 setrgbcolor 0 0 moveto 595 0 rlineto 0 842 rlineto -595 0 rlineto closepath fill showpage
Änderungen der Hintergrundfarbe können Sie im EPS-Code sehr leicht vornehmen. Nun wandeln Sie die EPS-Datei mit epstopdf in eine PDF-Datei um und fügen Sie über Pdftk als Hintergrund ein:
pdftk Beispiel.pdf background Bg.pdf output Bsp_farbig.pdf



