PDF-Dateien lassen sich unter Linux leicht erzeugen, aber schwer nachträglich bearbeiten. Wann der Import in Inkscape und wann der Einsatz von PDF-Annotatoren wie des kommerziellen Cabaret Stage oder des freien Flpsed die bessere Lösung ist, untersucht diese Bitparade.

Abbildung 4: Ohne fehlerträchtigen Export und Import fügt die kommerzielle Software Cabaret Stage bestehenden PDFs neue Text- und Grafikelemente hinzu.
PDFs unter Linux schreiben ist leicht: Die Druckfunktion so gut wie jeder Anwendung erzeugt eine Postscript-Datei und Ps2pdf aus dem Ghostscript-Paket wandelt Postscript in PDFs um. Inzwischen bieten Programme wie Open Office, Scribus und Inkscape eine eigene PDF-Exportfunktion.
Umkehrfunktion
Wesentlich schwieriger ist es aber, eine Linux-Anwendung zu finden, die bestehende PDFs editiert. Lange Zeit blieb dies kommerziellen Mac- und Windows-Programmen wie dem Illustrator und Acrobat von Adobe, den Ursprüngen des PDF-Formats, vorbehalten. Auch kommerziellen Programmen anderer Hersteller fiel der Import des verbreiteten Adobe-Dateiformats schwer, obwohl die Spezifikation seit Jahren offen liegt [1], die Entwickler also nicht auf Reverse-Engineering angewiesen sind.
Ein Meilenstein für die freie Softwarewelt war daher der auf Poppler [2] basierende PDF-Importfilter in Inkscape 0.46 [3]. Damit lassen sich PDFs in Inkscape wie normale Zeichnungen bearbeiten, der Benutzer kann sowohl Text als auch Grafik mit leistungsfähigen Werkzeugen verändern. Die Software wandelt die PDF-Datei zunächst in ihr natives SVG-Format um. Dabei ergaben sich im Test durchweg bessere Ergebnisse als bei der Umwandlung in SVGs mit Pstoedit [4]. Eine auf Cairo [5] basierende Exportfunktion erzeugt daraus wieder ein PDF.
Langer Weg
Dass bei diesem zweimaligen Formatwandel alle Details des extrem umfangreichen PDF-Formats erhalten bleiben, sollte niemand ernsthaft erwarten: PDFs nach der aktuellen Spezifikation 1.7 dürfen beispielsweise 3D-Daten (vergleiche Artikel “Räumlicher Container” in der Rubrik “Know-how”) oder Javascript enthalten. Beide fehlen nach dem Import und erneuten Export.
Aufschluss über die Qualität des Importfilters gibt ein für die Druckerei bestimmtes, von Adobe Indesign geschriebenes PDF einer Linux-Magazin-Seite. Auf den ersten Blick sieht das Ergebnis brauchbar aus (Abbildung 1). Inkscape importiert die Farbverläufe im Seitenkopf ohne Abstriche, Abbildungen hat die Software nach Rückfrage beim Öffnen in das Dokument eingebettet. Bei der Schrift tritt jedoch ein grundsätzliches Problem zu Tage: Da diese auf dem Linux-System fehlt, hat Inkscape sie durch eine Standardschrift ersetzt, obwohl der Font im PDF eingebettet ist.

Abbildung 1: Grafische Elemente importiert der neue PDF-Importfilter in Inkscape 0.46 ohne erkennbaren Unterschied, die im PDF eingebetteten Schriftdateien übernimmt er aber nicht.
Mit PDFs, die Text enthalten, kann Inkscape daher nur sinnvoll umgehen, wenn alle benutzten Schriften auf dem System installiert sind. Schlimmer noch ist, dass der Fließtext nicht in einem zusammenhängenden Block vorliegt, sondern dass Indesign ihn beim Export in Blöcke wechselnder Größe teilt. Wer den Text bearbeiten möchte, muss daher in Inkscape einen neuen Textrahmen erstellen und den Text per Zwischenablage aus dem Adobe Reader holen.
Wesentlich weniger als der Import überzeugt allerdings der PDF-Export. Er kommt mit den zahlreichen Farbverläufen des Testobjekts nicht klar (Abbildung 2). Allerdings gilt dies nur für den Export über »Speichern unter«. Der Druck in eine Datei mit PDF als Ausgabeformat liefert ein besseres Ergebnis.

Abbildung 2: Anders als der Import kommt der PDF-Export in Inkscape mit den Farbverläufen der Linux-Magazin-Seite nicht zurecht, das Drucken in eine PDF-Datei funktioniert jedoch fehlerfrei.
Baustellentauglich
Auch wenn grafische Objekte nach dem Import in Inkscape wie im Original aussehen, heißt dies nicht unbedingt, dass sie sich auch uneingeschränkt bearbeiten lassen. Die erste Klippe meistert Inkscape praktisch ohne Einschränkung. Die komplizierte gezackte Herzform liegt genau wie im Original als Kurve mit vielen Punkten vor (Abbildung 3). Sie lässt sich wie ein neu gezeichnetes Objekt editieren. Dass der schwarze Objektumriss dabei als eigenes Objekt und nicht wie erwartet als Umriss erscheint, liegt eher am Export des Illustrator.

Abbildung 3: Komplexe Pfade liest Inkscape verlustfrei aus PDFs, den Umriss (hier per Hand verschoben) jedoch als eigenes Objekt.
Als schwieriger erweist sich das Bearbeiten von sternförmigen Objekten mit Schlagschatten: Illustrator exportiert sie als eine Mischung aus Vektorelementen und Bitmaps. Die Sterne selbst bleiben als Vektorkurven erhalten und lassen sich in Inkscape uneingeschränkt editieren. Bei den Schatten handelt es sich bereits im PDF um eingebettete Bitmaps, die Inkscape lediglich verschieben und skalieren, nicht aber in der Form verändern kann. Abhilfe schaffen in Inkscape neu erstellte Schlagschatten, die sich in Version 0.46 vom Aussehen kaum von denen des Illustrator unterscheiden.
Für die so genannten Farbverlaufsgitter, einer Illustrator-Funktion, bei der die Software Farbverläufe aus Gitternetzpunkten zugewiesenen Farbwerten erstellt, enthält der PDF-Importdialog eine Einstellung, wie fein Inkscape das Objekt in farbige Einzelflächen unterteilen soll. Störend ist aber, dass zwischen den einzelnen Flächen im Import eine kleine Lücke klafft. Allerdings kittet »Pfad | ausweiten« die Risse.
Nicht verändern!
Wer vorliegende PDFs vor allem grafisch anpassen möchte, findet in Inkscape dafür eine gute Software, gleichwertige Alternativen gibt es bisher nicht. Oft geht es aber nur darum, dem fertigen PDF neue Elemente wie Anmerkungskästen hinzuzufügen. Hier ist der Umweg über einen Im- und Export wie in Inkscape nicht sinnvoll. Das PDF-Format erlaubt es, neue Elemente hinzuzufügen, ohne bestehende anzutasten.
Dies nutzt die kommerzielle Software Cabaret Stage [6]. Die Anwendung ist schwerpunktmäßig für das Ausfüllen von PDF-Formularen konzipiert. Sie enthält jedoch auch Zeichenwerkzeuge für einfache geometrische Formen (Abbildung 4). Zusätzlich fügt sie einem PDF noch Formularfelder hinzu, die sich auch als Textfelder nutzen lassen.

Abbildung 4: Ohne fehlerträchtigen Export und Import fügt die kommerzielle Software Cabaret Stage bestehenden PDFs neue Text- und Grafikelemente hinzu.
Unfrei
Die für den privaten Gebrauch kostenlosen Variante der Software füllt jedoch bloß fertige PDF-Formulare aus und speichert sie zusammen mit dem eingegeben Text. Bei der Benutzung der Editierfunktion fügt sie dem PDF ein Wasserzeichen hinzu. Erst in der im Onlineshop etwa 100 Euro pro Einzellizenz teuren Professional-Variante lassen sich die Editorfunktionen ohne Einschränkungen nutzen. Außer den Text- und Zeichenfunktionen bietet die auf Eclipse basierende Anwendung eine Reihe von Automatisierungs- und Skriptingfunktionen, die für Firmen oder Behörden interessant sind [7].
Störte bei einer frühen Version der Software Anfang 2007 noch die schleppende Performance [8], arbeitet sie nun zügig. Beim Öffnen des PDF mit der Linux-Magazin-Seite (Abbildung 1) kam es innerhalb der Anwendung zu Anzeigefehlern, die das exportierte PDF aber nicht beeinflussten.
Da der PDF-Import in Scribus zwar im Rahmen des Möglichen gut arbeitet, es aber in der Praxis trotzdem zu störenden Einschränkungen, im Extremfall sogar zu unbrauchbaren Exporten kommt, bleibt Cabaret Stage zurzeit unter Linux ohne Konkurrenz. Wer einem PDF neue Elemente hinzufügen, nicht aber bestehende editieren möchte, fährt mit inkrementellen Änderungen besser als mit der fehleranfälligen Import- und Exportfunktion eines Grafikprogramms.
Trostpflaster
Zwar gibt es keine gleichwertige freie Alternative zur kommerziellen Software Cabaret Stage. Wer seinen PDFs jedoch nur Text und keine grafischen Elemente hinzufügen möchte, kann dazu auch den Postscript-Annotator Flpsed [9] benutzen. Der in Flpsed hinzugefügte Text ist zwar stets in der im PDF-Standard enthaltenen Schriftart Helvetica formatiert, Schriftgröße und -farbe lassen sich jedoch einstellen (Abbildung 5).

Abbildung 5: Auch das freie Flpsed verzichtet auf den Import in ein natives Dateiformat und vermeidet so manchen Fehler des Inkscape-PDF-Imports, bietet aber nur wenige Funktionen.
Flpsed übersetzt den PDF-Code nicht in ein grundlegend anders strukturiertes Dateiformat wie SVG, nativ verarbeitet die Software PDFs dennoch nicht. Sie übersetzt die Daten vor dem Bearbeiten ins Postscript-Format. Dabei treten naturgemäß weniger Probleme auf als beim Bearbeiten mit Inkscape. PDF-Elemente wie Javascript-Code, eingebettete Dateien oder 3D-Modelle gehen allerdings auch hier verloren.
Außer zur interaktiven Texteingabe eignet sich Flpsed auch als Batchprozessor ohne grafische Oberfläche. Die Software ersetzt dann zuvor eingefügte Tags durch auf der Kommandozeile übergeben Text: »flpsed -b -t Name=Meier Ausgabedatei« schreibt ein Postscript-File, das an der unter der grafischen Oberfläche festgelegten Stelle den Text »Meier« enthält. Mit Hilfe von einfachen Skripten entstehen so personalisierte PDFs.
Fazit
Der PDF-Importfilter in Inkscape verdient insgesamt eine gute Note. Bei grafischen Elementen macht er in der Regel das Bestmögliche aus dem im PDF enthaltenen Bildmaterial, Einschränkungen bei der Editierbarkeit sind meist bereits im Ausgangsmaterial angelegt. Bei PDFs mit Fließtext stört es, dass die Schriftart auf dem System verfügbar sein muss und dass Fließtext nicht mehr in einem zusammenhängendem Block vorliegt.
Wer bestehenden PDFs nur neue Elemente hinzufügen möchte, benutzt wegen der unvermeidlichen Probleme beim Öffnen in einem Grafikprogramm besser Software, die bestehende Objekte nicht antastet. Das in der Vollversion 100 Euro teure Cabaret Stage fügt den PDFs Text, Formularfelder und grafische Elemente hinzu, das freie Flpsed lediglich Text in der Schriftart Helvetica.
|
Infos |
|---|
|
[1] PDF-Referenz: [http://www.adobe.com/devnet/acrobat/pdfs/pdf_reference.pdf] [2] Poppler: [http://poppler.freedesktop.org/] [3] Peter Kreußel, Inkscape-Version 0.46: [https://www.linux-magazin.de/news/inkscape_0_46_kann_pdfs_bearbeiten] [4] Pstoedit: [http://www.pstoedit.net/pstoedit] [5] Cairo: [http://www.cairographics.org] [6] Cabaret Stage: [http://www.cabaret-solutions.com/de/products/stage/] [7] Cabaret Stage Professional: [http://www.cabaret-solutions.com/de/products/stage/bundle_professional] [8] Peter Kreußel, “PDF-Formular-Werkzeug Cabaret Stage im Test”: Linux-Magazin 02/07, S. 66 [9] Flpsed: [http://www.ecademix.com/JohannesHofmann/flpsed.html] |






