PDFs ausgereizt
Ein Multifunktionsgerät für die Arbeit mit PDF-Dateien
Zerlegen und Zusammensetzen von PDF-Dateien
Mit der Operation burst zerlegen Sie eine PDF-Datei in einzelne Seiten. Dazu geben Sie einen Stammnamen für die einzelnen Seiten sowie ein Nummerierungsformat an:
pdftk Beispiel.pdf burst output Seite%03d.pdf pdftk Beispiel.pdf burst output ./Seiten/Seite%03d.pdf
Die Namen der einzelnen Dateien enthalten in beiden Beispielen eine dreistellige Seitenzahl. Im zweiten Beispiel schreibt Pdftk die PDF-Dateien in ein existierendes Unterverzeichnis.
Mit der Operation cat fasst Pdftk mehrere PDF-Dateien zu einem neuen Dokument zusammen. Sie können die Dateinamen der einzelnen Quelldateien auch mit Jokerzeichen angeben.
pdftk Beispiel.pdf Formular.pdf Anhang.pdf cat output Beispiel_gesamt.pdf pdftk D=Deckblatt.pdf B=Beispiel.pdf cat D B1-4 output Beispiel_deckblatt.pdf
Wie das zweite Beispiel L fettdemonstriert, arrangieren Sie mit der Operation cat bei Bedarf Dokumente auch neu, indem Sie Teile einer PDF-Datei mit Teilen eines anderen PDFs zu einem neuen Dokument verknüpfen.
Abfragen und Aktualisieren der Meta-Informationen
Die meisten PDF-Dateien enthalten Meta-Informationen, etwa zum Autor, dem Thema der Datei oder der zum Erstellen verwendete Software. Mit Pdftk können Sie sich diese Angaben auf die Standardausgabe ausgeben oder in eine Datei speichern lassen:
pdftk Beispiel.pdf dump_data output Info.txt
Nach diesem Aufruf enthält die Datei info.txt alle Meta-Informationen des PDF-Dokuments. Diese setzen sich jeweils aus einem Schlüsselfeld und dem zugehörigen Wert zusammen (siehe Listing 1). Vor der Weitergabe oder Archivierung von PDF-Dokumenten ist es oft sinnvoll, die Meta-Daten zu aktualisieren. Pdftk ermöglicht dies, ohne dazu das Dokument neu erstellen oder übersetzen zu müssen.
Zum Aktualisieren der Meta-Informationen erstellen Sie eine Textdatei mit Meta-Daten, die etwa folgenden Aufbau haben (die Darstellung ist stark gekürzt):
InfoKey: Creator InfoValue: TeX InfoKey: Firma InfoValue: Mustermann und Söhne
Listing 1
Typische PDF-Metadaten
InfoKey: Title InfoValue: Arbeit mit Pdftk InfoKey: Subject InfoValue: Pdftk-Beispiele aus der Praxis InfoKey: Keywords InfoValue: pdftk, iText, OpenSource-Anwendungen InfoKey: Author InfoValue: Stefan Lagotzki InfoKey: Ort InfoValue: Dresden
Sie müssen in diese Datei nicht alle Informationen aufnehmen, die man mit einer PDF-Datei speichern kann. Bereits belegte FeldL fetter bleiben beim Update unberührt, wenn sie in der Textdatei nicht enthalten sind. Sie können auch zusätzliche Schlüsselfelder (im Beispiel Firma) definieren und mit Werten belegen. Das Aktualisieren der Meta-Informationen erfolgt mit dem Aufruf:
pdftk Beispiel.pdf update_info Info.txt output Bsp_meta.pdf
Ausgabedatei und Eingabedatei dürfen nicht den selben Namen tragen. Sie müssen also manuell oder über ein kleines Shell-Skript die Ausgabedatei anschließend entsprechend umbenennen.
Ausfüllen eines PDF-Formulars
PDF-Dateien können Formulare mit benannten Formularfeldern enthalten. Eine Einführung in das Thema PDF-Formulare findeL fettn Sie in [3]. Für PDF-Formulardaten hat die Firma Adobe das proprietäre, aber offene FDF-Format definiert. Das folgenden Beispiel stellt eine kleine FDF-Datei dar:
%FDF-1.2 1 0 obj <\<><\<> /FDF <\<><\<> /Fields [ <\<><\<> /V (Dresden)/T (ort) <\>><\>> <\<><\<> /V (Stefan Lagotzki)/T (autor)<\>><\>> ]/F (formular.pdf) <\>><\>> <\>><\>> endobj trailer <\<><\<> /Root 1 0 R <\>><\>> %%EOF
In diesem Beispiel bezeichnet T den Titel und V den Wert eines Formularfelds. Nun fügen Sie die PDF-Datei mit der FDF-Datei zusammen. Dabei können Sie entscheiden, ob die Formulardaten noch editierbar sein oder endgültig mit dem Dokument verbunden werden sollen:
pdftk Formular.pdf fill_form Bsp.fdf output Edit.pdf pdftk Formular.pdf fill_form Bsp.fdf output End.pdf flatten
Im ersten Fall lässt sich das Ergebnis noch editieren. Im zweiten Fall sorgt die Option flatten dafür, dass die Inhalte der Formularfelder endgültig mit der PDF-Datei verbunden werden.
Diese Fähigkeiten ermöglichen, Pdftk zur Erstellung ausgefüllter PDF-Formulare auf einem Inter- oder Intranetserver einzusetzen. Das Ausfüllen der Formularfelder erledigt der Nutzer in seinem Browser. Im Hintergrund erstellt dann ein PHP- oder Perl-Skript die FDF-Datei; zuletzt verbindet Pdftk beide Teile miteinander. Die fertige PDF-Datei kann per E-Mail zugestellt werden.



