Anzeige
Smartes Cloud Hosting für anspruchsvolle Projekte.
↬ Loslegen und Spaces testen ↬ Jetzt testen!
Dr. Detlef Groth 23. Januar 2007

PDF: nachträgliches Bearbeiten

Kein Beitragsbild

PDF ist vielfältig und flexibel. Der freie dgPDFCombiner kann noch mehr: Vorhandene PDFs können durch neue Seiten erweitert und verschiedene Dokumente sogar zu einem einzigen zusammengefasst werden.

Anzeige

In zunehmenden Maße ist im Internet das PDF-Format von Adobe Systems anzutreffen. Viele Office-Programme können heute PDFs direkt erstellen. Außerdem können über Druckertreiber wie FreePDF PDF-Dokumente aus jeder Anwendung, die eine Druckfunktion hat, erzeugt werden. Problematisch wird es erst, wenn man bestimmte Bereiche verschiedener Dokumente miteinander kombinieren oder ein eventuell fehlendes Inhaltsverzeichnis nachrüsten möchte. In diesem Artikel wollen wir Ihnen ein Tool vorstellen, mit dem auf allen gängigen Betriebssystemen diese Aufgaben erfüllt werden können.

Tools zur PDF-Bearbeitung
Programmiersprachen wie Java, PHP oder Perl bringen für den Entwickler jede Menge Bibliotheken zum Erstellen und Modifizieren von PDF-Dokumenten mit. Leider wird sich aber nur selten die Mühe gemacht, diese Funktionalität für den Endanwender in komfortabler Weise gebrauchsfähig zu machen. Zumeist endet der Luxus beim umständlichen Öffnen der Kommandozeile und dem Eingeben scheinbar kryptischer Parameter. Diese Verfahrensweise ist für erfahrene Anwender durchaus von Vorteil, bestimmte Arbeitschritte lassen sich so eben leicht wiederholen und reproduzieren. Für den Normalverbraucher scheiden solche Tools allerdings für die tagtägliche Anwendung aus. Beispiele für solche Kommondozeilen-Anwendungen sind zum Beispiel pdftk und die Multivalent-Dokument-Tools.

Anzeige

PDF-Prozessierung mit Perl
Auch die Programmiersprache Perl hat eine weitreichende Unterstützung des PDF-Formates. Basierend auf dem Paket PDF-Reuse von Lars Lundberg habe ich in der Vergangenheit ebenfalls eine Kommandozeilen-Anwendung zum Prozessieren von PDF-Dokumenten erstellt. Da Perl mit dem Tk-Toolkit auch über Schnittstellen zum Programmieren von grafischen Benutzerschnittstellen (GUI) verfügt, lag die Idee nahe, eine für den Endanwender benutzbare Version zu programmieren. Die fertige Anwendung der dgPDFCombiner erlaubt dem Anwender die visuelle Selektion verschiedener PDF-Dokumente, das Auswählen einzelner Seiten oder von Seitenbereichen und das Erstellen eines kombinierten PDF-Dokumentes. Die Bearbeitungschritte können gespeichert und in einer späteren Arbeitsitzung wieder neu geladen werden (Session-Save/Load). Außerdem wird in dem erstellen PDF-Dokument ein Lesezeichenbaum angelegt um in dem Dokument leichter navigieren zu können.

Beispielprojekt
Da sich der Nutzen einer Anwendung am besten an einem praktischen Beispiel erschliesst, wollen wir im Folgenden die beiden Teile der fünften Version des Dr. Web PDF-Buches zu einer PDF-Datei kombinieren, sie mit einem Inhaltsverzeichnis ausstatten und anschliessend weitere „Dr.Web“-Artikel hinzufügen.

Download und Installation der Anwendung
Dazu benutzen wir den Link von der Homepage des Autors und laden das entsprechende Zip-Archiv auf die Festplatte und wird dort entpackt. Die Anwendung sollte in ein Verzeichnis ohne Lehrzeichen kopiert werden. Durch einfaches Klicken auf die Anwendung kann der dgPDFCombiner gestartet werden. Eine weitergehende Installation ist unter Windows nicht erforderlich. Benutzer anderer Betriebssysteme starten die Anwendung über den Perl-Interpreter. Vorher sollten Unix-Anwender sicherstellen, dass sowohl die Perl/Tk als auch die PDF-Reuse-Bibliotheken installiert sind.

Verbinden der Einzelteile des Dr.Web-Buches
Über den Menüpunkt „File-Add PDF File“ werden nacheinander die beiden PDF-Dateien des Dr.Web-Buches zu unserem Projekt hinzugefügt.

Screenshot

Anschliessend wird der Menüpunkt „File-Create PDF File“ aufgerufen und eine neue PDF-Datei wird generiert. Wenn man diese öffnet, ist festzustellen, dass beide Dateien zu einer einzigen zusammengefügt wurden und die Ordnerstruktur gleichzeitig für die Erstellung der Lesezeichen verwendet wurde.

Screenshot

Anlegen eines detailierten Lesezeichenverzeichnisses
Man kann ein detailliertes Lesezeichenverzeichnis zum Ersten durch „File-Add Folder“ und durch Kopieren/Einfügen und Editieren der „Pages“ und der „Title“-Einträge erstellen. Einfacher geht das Ganze allerdings für umfangreichere Verzeichnisse mit einem Text-Editor wie Notepad. Dazu legen wir eine Datei mit dem gleichen Dateinamen aber der Dateiendung „cnt“ an. Benutzer von Notepad sollten zur Sicherheit beim Abspeichern den Dateinamen in Anführungszeichen setzen, sonst erhält die Datei unter Umständen die Erweiterung „cnt.txt“. Beim Erstellen unseres zusammengefassten Dr.Web-Buches hat die Anwendung eine solche cnt-Datei bereits angelegt. Der Einfachheit wegen kann man mit dem Editieren dieser Datei fortfahren. Beide Dateien, die CNT- und die PDF-Datei müssen sich in jedem Fall im gleichen Verzeichnis befinden. Nun geht man die PDF-Datei von Anfang bis Ende durch und notiert sich seine Lesezeichen in der folgenden Form:

 0 "Dr. Web-Buch Version 5" 1 1 "Vorwort/Impressum" 3 1 "Inhaltsverzeichnis" 4 0 "Webdesign als Beruf / Verdienst / Abgaben" 7 1 "Machen Sie Ihr Können sichtbar" 8 1 "Wir über uns" 10 1 "Allein ist nicht genug" 12 1 "Was kostet Webdesign?" 14 1 "Top-Design für 30 Euro" 17 1 "Flash-Templates: Filme von der Stange" 24

Dabei sagt der Eintrag am Anfang jeder Zeile, ob es sich um einen Ordner (0) oder um einen einfachen Eintrag (1) handelt. Danach kommt in Anführungszeichen der Titel und am Ende jeder Zeile befindet sich die Seitenzahl, zu der beim Klicken auf den Lesezeichen-Eintrag gesprungen werden soll. Für viele PDF-Dateien kann eine solche Datei durch das Kopieren eines vorhandenen Inhaltsverzeichnisses schnell erstellt werden. Da ein solches in unserem Dr.Web-Buch nicht vorhanden ist, habe ich dem Leser dieses Artikels die etwas mühsame Arbeit der Erstellung der cnt-Datei abgenommen und diese der ZIP-Datei, die am Ende des Artikels heruntergeladen werden kann, hinzugefügt.

Die durch die Anwendung automatisch angelegte CNT-Datei sollte durch diese Datei ersetzt werden. Danach kann durch den Menüpunkt „File-Load Bookmarks File“ die CNT-Datei geladen werden. Nun sollte unser umfangreiches Inhaltsverzeichnis sichtbar sein:

Screenshot

Jetzt kann das Inhaltsverzeichnis zu der PDF-Datei hinzugefügt werden. Durch Aufrufen von „File-Create PDF-File“ wird eine neue PDF-Datei erstellt. Zur Sicherheit sollten wir hier einen neuen Dateinamen vergeben.

Screenshot

Hinzufügen weiterer Artikel
Unsere PDF-Datei können wir jetzt kontinuierlich um neue Artikel erweitern. Dazu müssen wir aus den HTML-Dokumenten der Dr. Web-Webseite PDF-Dateien erstellen. Am einfachsten ist es, einen Druckertreiber wie FreePDF zu benutzen. Nach Installation des Druckertreibers, kann man die PDF-Datei durch Drucken und Auswählen des FreePDF-„Druckers“ erstellen. Eine weitere Möglichkeit ist es, den Artikel auf der Festplatte abzuspeichern und in einen Wordprozessor zu laden, der PDF-Dokumente erstellen kann. Beispiele für Office-Produkte mit PDF-Export sind die Freeware OpenOffice und Papyrus-Office.

Im Folgenden wollen wir den Weg über den Druckertreiber FreePDF aufzeigen. In unserem Beispiel wollen wir Artikel aus dem Dr.Web-Bereich JavaScript einfügen. Als erstes erstellen wir dazu einen neuen Ordner mit „File-Add Folder“. Danach klicken wir auf das Ordner-Symbol und ändern im Textfeld am unteren Rand der Anwendung den Eintrag „Document“ in „JavaScript-Artikel“. Nach dem Klicken auf den Update-Button sollte der Eintrag in der Baumstruktur angepasst sein. Nach der Installation von FreePDF laden wir die Webseite http://www.drweb.de/javascript/javascript-debugger.shtml in unseren Webbrowser. Anschließend wird durch Drucken-FreePDF eine PDF-Datei erstellt. Das Gleiche wiederholen wir mit der URL http://www.drweb.de/javascript/debugging.shtml.

Nach dem wir unsere beiden PDF-Dokumente erstellt haben, markieren wir unseren „JavaScript-Artikel“-Eintrag und fügen durch „File-Add PDF-File“ beide PDF-Dateien zu unserer Baumstruktur hinzu. Den Titeltext ändern wir für beide Einträge vom Dateinamen in den Titel des Artikels um. Danach erstellen wir, wie oben angegeben, eine neue PDF-Datei, welche nun das komplette Dr.Web-Buch und unsere beiden neuen Artikel enthält. Ausgehend von diesem PDF-Dokument und der dazugehörigen CNT-Datei können wir später weitere Artikel an beliebiger Stelle in unser erweitertes Dr. Web-Buch einfügen.

Screenshot

Zusammenfassung
Mit der hier vorgestellten Anwendung können verschiedene PDF-Dokumente beliebig kombiniert und mit einem Lesezeichen-Baum erweitert werden. Die Benutzung des Programms ist einfach, Arbeitssitzungen (Sessions) können gespeichert und später erneut aufgerufen werden. Dies erleichtert die fortlaufende Erweiterung von bestehehenden PDF-Dateien. Für Hinweise und Anregungen ist der Autor dankbar. Zuschriften bitte an dgroth-at-gmx.de. Die Anwendung als Windows-Executable oder als Perl-Script für Unix-Anwender kann bei Detlef Groth heruntergeladen werden.

Die Links im Überblick:

  1. PDF-Eintrag der Wikipedia
  2. Adobe Systems
  3. FreePDF-Druckertreiber
  4. pdftk-Webseite
  5. Multivalent-Dokument-Tools
  6. PDF-Bearbeitung mit Perl
  7. dgPDFCombiner
  8. Dr. Web-Buch Version 5
  9. dgPDFCombiner-Homepage
  10. OpenOffice
  11. Papyrus-Office
  12. dgPDFCombiner-Programm

Erstveröffentlichung am 23.01.2007

Dr. Detlef Groth

Dr. Detlef Groth, von Beruf Biochemiker und IT-Konsultant, arbeitet als Bioinformatiker und Autor in Potsdam und Umgebung.

Ein Kommentar

  1. Hallo,

    da wurde ein tooles Programm vergessen, welches ich mir erst kürzlich gekauft habe und was einfach Klasse ist. Der CAD-KAS PDF Editor.

    Viele Grüße
    Isabell

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.