ubuntuusers.de

Du betrachtest eine alte Revision dieser Wikiseite.

pdftk

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/Oxygen/pdf.png pdftk 🇬🇧 (kurz für PDF toolkit) ist ein plattformübergreifendes Werkzeug für die Kommandozeile bzw. Konsole, mit dem man PDF-Dateien manipulieren kann. pdftk ist eine Portierung der Open-Source-Bibliothek iText.

Das Programm wurde von Sid Steward entwickelt und steht unter der GPLv2-Lizenz 🇬🇧.

Die Funktionalität von pdftk umfasst:

Mit PDF Chain 🇬🇧 befindet sich eine grafische Oberfläche für das Programm in Entwickelung.

Installation

pdftk in den offiziellen Paketquellen enthalten. Es muss folgendes Paket installiert [1] werden:

  • pdftk (universe)

Befehl zum Installieren der Pakete:

sudo apt-get install pdftk 

Oder mit apturl installieren, Link: apt://pdftk

Bedienung

Aufruf

pdftk wird im Terminal [2] mit folgendem Befehl aufgerufen:

pdftk EINGABEDATEI[EN] OPERATION [OPTION] output [AUSGABEDATEI] [PASSWORT] [BENUTZERRECHTE] 

Operationen

pdftk kennt folgende Operationen:

Operationen von pdftk
Operation Beschreibung
attach_files Anhängen von Dateien an ein PDF-Dokument
background Einfügen eines Wasserzeichens
burst Zerlegung eines PDF-Dokuments in Einzelseiten
cat Zusammenfügung von Einzeldokumenten zu einem neuen Gesamt-Dokument
dump_data Ausgabe von Informationen zum PDF-Dokument auf der Standardausgabe
dump_data_fields Ausgabe von Informationen zu Formularfeldern eines PDF-Dokument auf der Standardausgabe
fill_form Ausfüllen von PDF-Formularen (oder Verbindung von Formulardaten mit Dokument)
update_info Aktualisierung der Metadaten (wie Titel, Autor, Datum der Erstellung) einer PDF-Datei

Weitere Operationen und Optionen sind den Manpages zu entnehmen.

Rechteoptionen

pdftk kann folgende Rechte eines PDF-Dokuments verändern:

Berechtigungen eines PDF-Dokuments
Option Beschreibung
AllFeatures Nutzer hat alle (nachfolgend genannten) Rechte zur Änderung
Assembly Zusammenfügen mit anderen Dokumenten erlaubt
CopyContents Kopieren von Textpassagen und Bildern aus dem Dokument erlaubt (Option ScreenReaders ist hiermit auch abgedeckt)
DegradedPrinting Drucken nur in eingeschränkter Qualität erlaubt
FillIn Formular-Ausfüllung erlaubt
ModifyAnnotations Änderung der Anmerkungen erlaubt
ModifyContents Änderung der Dokumenteninhalte erlaubt
Printing Drucken in bestmöglicher Qualität erlaubt
ScreenReaders Textzugriff für Screenreader (d.h. Sprachausgabeprogramme)

Beispiele

Seiten aus einem PDF-Dokument entfernen

Mit folgendem Befehl werden die erste Seite eines Dokuments datei.pdf sowie alle Seiten ab der 11. mit Ausnahme der 15. entfernt und die verbleibenden Seiten (Seiten 2 bis 10 sowie 15 der Ursprungsdatei) in der Datei Dokument.pdf gespeichert:

pdftk datei.pdf cat 2-10 15 output Dokument.pdf 

Hinweis: Es wird also angegeben, welche Seiten im Dokument verbleiben sollen.

PDF-Dokumente zusammenfügen

Mit dem folgenden Befehl werden die Dateien datei1.pdf, datei2.pdf und datei3.pdf zum neuen Dokument datei123.pdf zusammengefügt:

pdftk datei1.pdf datei2.pdf datei3.pdf cat output datei123.pdf 

Mit dem folgenden Befehl werden alle PDF-Dateien im aktuellen Verzeichnis nacheinander zur Datei zusammen.pdf zusammengefügt:

pdftk *.pdf cat output zusammen.pdf 

Mit dem folgenden Befehl werden die Seiten 1 bis 7 des Dokuments datei1.pdf und die Seiten 1 bis 5 des Dokuments datei2.pdf sowie anschließend noch die 8. Seite von datei1.pdf zur Datei zusammen.pdf zusammengefügt:

pdftk A=datei1.pdf B=datei2.pdf cat A1-7 B1-5 A8 output zusammen.pdf 

Hinweis:

Sogenannte „Handles“, hier A und B, erlauben es, mehrere Arbeitsschritte in einem Befehl zu verknüpfen. Im obigen Beispiel ist das eine Extraktion (der Seiten) und die anschließende Verknüpfung der extrahierten Seiten.

PDF-Dokument teilen

Zur Extrahierung der einzelnen Seiten eines Dokuments dient die Option burst:

pdftk langesdokument.pdf burst 

Hierbei ist zu beachten, dass sich aus einer Anwendung des Befehls auf Dokumente mit vielen Seiten viele Einzelseiten ergeben. Es empfiehlt sich daher, mit der Option output ein Zielverzeichnis für die extrahierten Seiten festzulegen:

pdftk langesdokument.pdf burst output ~/Dokumente/Zielverzeichnis/Seite_%03d.pdf 

Hinweis: Der Dateiname Seite_%03d.pdf bedeutet: Der Name jeder Einzelseite beginnt mit „Seite_“, gefolgt von der Seitenzahl in Dezimaldarstellung (d) und 3 Stellen (3); fehlende Ziffern werden mit Nullen (0) aufgefüllt.

PDF-Dokumente drehen

Um 90 Grad drehen

Mit dem folgenden Befehl wird das Dokument datei.pdf um 90 Grad gedreht und als dokument90.pdf gespeichert:

pdftk datei.pdf cat 1-endE output dokument90.pdf 

Erläuterung: Hinter dem cat wird angegeben, welche Seiten gedreht werden sollen. Im Beispiel sind das die Seiten 1-end, also alle. Das E zeigt die Drehrichtung an: es steht für E wie „east“ (Osten), also 90 Grad. (Dementsprechend steht S für „south“, also 180 Grad, und W für „west“, also 270 Grad.)

Um 180 Grad drehen

Mit dem folgenden Befehl wird das Dokument datei.pdf um 180 Grad gedreht und als dokument180.pdf gespeichert:

pdftk datei.pdf cat 1-endS output dokument180.pdf 

Um 270 Grad drehen

Mit dem folgenden Befehl wird das Dokument datei.pdf um 270 Grad gedreht und als dokument270.pdf gespeichert:

pdftk datei.pdf cat 1-endW output dokument270.pdf 

Ausgewählte Seiten eines Dokuments drehen

Mit dem folgenden Befehl werden nur die Seiten 7 bis 10 des Dokuments datei.pdf um 180 Grad gedreht und als dokument180_7-10.pdf gespeichert:

pdftk datei.pdf cat 1-6 7-10S 11-end output dokument180_7-10.pdf.pdf 

Hinweis: Die Seiten 1 bis 6 und 11 bis Ende werden nicht gedreht, müssen aber – ohne Drehoption – angegeben werden, da sie sonst nicht in das Enddokument aufgenommen werden.

Metadaten anzeigen und editieren

Mit Hilfe der Option dump_data werden die Metadaten eines Dokuments angezeigt. Im folgenden Beispiel werden die Metadaten des Dokuments latexbeamer.pdf in die Datei info.txt geschrieben:

pdftk latexbeamer.pdf dump_data output info.txt 

Das ergibt folgenden Inhalt der Datei info.txt:

cat info.txt 
InfoKey: Creator
InfoValue: LaTeX with beamer class version 3.06
InfoKey: Title
InfoValue: LaTeX slides with beamer - So much better than PowerPoint
InfoKey: Producer
InfoValue: pdfeTeX-1.304
InfoKey: Author
InfoValue: Sylvia Blaho
InfoKey: PTEX.Fullbanner
InfoValue: This is pdfeTeX, Version 3.141592-1.30.4-2.2 (Web2C 7.5.5) kpathsea version 3.5.5
InfoKey: CreationDate
InfoValue: D:20061103083529+01'00'
(…)

Die so erzeugte Datei info.txt kann nun in einem Editor [3] manuell verändert werden. Anschließend können die Änderungen durch folgenden Befehl in das Dokument latexbeamer_neu.pdf übertragen werden:

pdftk latexbeamer.pdf update_info info.txt output latexbeamer_neu.pdf 

Verschlüsselung von PDF-Dokumenten

Eine Datei dokument.pdf wird mit dem folgenden Befehl verschlüsselt. Es werden im Beispiel sowohl ein Passwort für den Rechteinhaber als auch ein Benutzerpasswort vergeben:

pdftk dokument.pdf output verschluesselt.pdf owner_pw PASSWORTINHABER user_pw PASSWORTNUTZER 

Mit den am Schluss des Befehls angehängten Optionen encrypt_40bit oder encrypt_128bit lässt sich zusätzlich die Verschlüsselungsstärke bestimmen. Werden keine expliziten Rechte angegeben (wie im Beispiel Printing, werden diese nicht vergeben.)

Nutzerrechte ändern

Für PDF-Dateien können bestimmte Rechteoptionen gesetzt werden. Im folgenden Beispiel ist dem Nutzer das Verändern der Anmerkungen sowie das Drucken der Datei erlaubt, Letzteres allerdings nur in eingeschränkter Qualität:

pdftk datei_alt.pdf output datei_neu.pdf owner_pw PASSWORTINHABER user_pw PASSWORTNUTZER allow DegradedPrinting ModifyAnnotations 

Formulare ausfüllen

Mit Hilfe einer Datei im FDF-Format 🇩🇪 lassen sich Formulare in PDF-Dokumenten ausfüllen.

Mit Hilfe des folgenden Befehls wird aus dem Dokument Formular.pdf eine FDF-Datei formulardaten.fdf erzeugt:

pdftk Formular.pdf generate_fdf output formulardaten.fdf 

Diese Datei kann nun in einem Editor [3] manuell editiert werden; T bezeichnet dabei den Titel, V den Wert eines Formularfeldes. Liegt eine modifizierte FSF-Datei vor (im Beispiel: formulardaten.fdf), kann sie mit folgendem Befehl mit dem Dokument Formular.pdf verbunden werden, so dass sich die ausgefüllte Datei Dokument.pdf ergibt:

pdftk Formular.pdf fill_form formulardaten.fdf output Dokument.pdf 

Mit der Option flatten wird ein Formular erzeugt, das nicht mehr editierbar ist:

pdftk Formular.pdf fill_form formulardaten.fdf output Dokument.pdf flatten 

Wasserzeichen einfügen

Um ein Wasserzeichen einzufügen, muss die Datei, die als Wasserzeichen dienen soll, im PDF-Format vorliegen, idealerweise im gleichen Format wie das Zieldokument. (Wenn die Wasserzeichen-Datei nicht im gleichen Format vorliegt, skaliert sie pdftk.) Mit dem folgenden Befehl wird die Datei wasserzeichen.pdf als Wasserzeichen in die Datei beispiel.pdf eingefügt und die so produzierte Datei als dokument.pdf ausgeben:

pdftk beispiel.pdf background wasserzeichen.pdf output dokument.pdf 

Diese Revision wurde am 31. Januar 2012 02:09 von kutteldaddeldu erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Büro, Shell, PDF