PDFTK und die Umstände eine PDF zu erzeugen
Samstag, 18.04.2009 um 18:12 UhrMoin liebe Lesergemeinde,
da ich viel LaTeX nutze, habe ich logischerweise auch viel mit PDFs zu tun. Da ich meine Briefe zum Beispiel alle hintereinander weg in ein Tex-Dokument schreibe und dann aber jeweils nur den aktuellen Brief brauche zum Verschicken, muss ich Seiten aus einer PDF herauskopieren und sie in eine andere PDF packen.
Es gibt da verschiedenste Möglichkeiten – vom seitenbezogenen PDF Druck aus Evince oder Okular (PDF Betrachter) heraus, über Öffnen in Gimp und exportieren als PDF oder die Bezahlvariante des Acrobat Readers von Adobe. All diese Varianten sind aber irgendwie zu umständlich und beschreiben eigentlich immer nur einen Umweg.
Nach meinem Geschmack ist daher das Tool PDFTK. Es ist ein extrem mächtiges Werkzeug was die PDF-Bearbeitung anbelangt. Man kann PDFs zusammenfügen, einzelne Seiten auslesen, die Seiten einer PDF einzeln speichern, die Metadaten auslesen und aktualisieren, PDF Sicherheits-Optionen setzen (auch wenn die meisten davon von Evince und Okular ignoriert werden
), Hintergrundbilder und Wasserzeichen setzen und noch einiges mehr.
Problem hierbei ist bei komplizierteren Vorgängen die unübersichtliche Schreibweise in der Konsole (Siehe Man-Page). Ich hatte überlegt selber mal eine GUI dafür zu entwickeln, da ich nicht immer in der Man-Page schauen wollte, wie der Befehl lautet. Bei der Recherche bin ich auf ein bestehendes Entwicklungsprojekt gestoßen, welches aber schon sehr bedienbar ist. Der Name des Projekts heißt PDFChain. Der ubuntuusers-Beitrag beinhaltet auch die entsprechenden Download-Links. Die Oberfläche ist eigentlich intuitiv bedienbar.
Jetzt aber genug der Vorstellung, viel Spaß beim PDF Bearbeiten
Leider habe ich aber noch ein Problem mit PDFTK, der mich ein Bisschen annervt. Es gibt nicht die Möglichkeit, dass input- und output-PDF-File das selbe ist.
pdftk hallo.pdf update_info info.txt output hallo.pdf
Das ist gerade sehr unschön, wenn man die Metadaten einer PDF aktualisieren möchte (siehe Code-Beispiel). So muss man quasi eine neue PDF Datei erzeugen mit den neuen Metadaten, die alte löschen und die neue wieder in die alte umbenennen. Irgendwie blöd.
Es gibt dann noch die Option dont_ask, diese überschreibt ohne Nachfrage bestehende Dateien. Leider funktioniert diese Option trotzdem nur, wenn man für input und output einen anderen Namen vergibt. Das ließe sich meiner Meinung nach nur durch ein Skript oder durch die Integration in das oben genannte Programm verhindern (zumindest für update_info, wo es ja auch irgendwie sinnvoll ist) oder hat jemand noch eine andere Idee.

Hi,
du hast nen coolen Blog. Bin schon fleißig am LaTeX-Vorlagen basteln
.
pdftk hallo.pdf update_info info.txt output hallo.pdf
Probiers doch mal mit sowas hier:
pdftk hallo.pdf update_info info.txt output – >> hallo.pdf
Er nimmt als output die Standardausgabe und lenkt diese in die Datei hallo.pdf
um. Keine Garantie dafür, ob es funktioniert. Bin grad zu faul das zu testen.
Weiss e nicht genau, was dein Befehl macht. Aber vielleicht kommst du so
weiter.
Also: Standardausgabe umleiten in Datei oder vielleicht umleiten in ein
anderes Programm (mit | Symbol). Ansonsten bastel dir halt ein kleines Shell-
Script. Zum generieren von temporären Dateien kannst entweder die Variable $$
verwenden oder das Kommando mktemp. In /tmp z.B. so: mktemp /tmp/blubb.XXXX