|
108 | Schnellstart
System-V-Init-Alternativen für schlanke Linux-Systeme (nicht nur) für den Embedded-Bereich.
110 | Perl-Snapshot
Wer wie Mike Schilli die gleichen Bildkorrekturen in Gimp nicht
immer wieder per Hand durchführen will, nutzt die Perl-Schnittstelle der freien Bildbearbeitungssoftware.
|
Webentwickler erreichen erst mit dem Einsatz der Ajax-Technologie oder mit Flash auch nur annähernd so komfortable Oberflächen wie die von Desktopsoftware. Flash, das seit dem Aufkauf von Macromedia Ende 2005 zu Adobe gehört, kann zwar auf die weite Verbreitung des kostenlosen Flash Player setzen. Ausgereifte Linux-Tools zum Erstellen von Flash-Anwendungen unter Linux gibt es aber nicht. Ajax hat dagegen mit Kompatibilitätsproblemen bei den Browsern zu kämpfen und setzt außerdem umfassende Tests voraus.
Dabei gäbe es eine Alternative: Wie Flash lassen sich PDFs über das Adobe-Plugin direkt im Browser anzeigen. Interaktive PDFs erzeugt der Entwickler mit dem freien Programm Scribus, und zwar ebenfalls unter Linux.
Interaktive PDFs
Seit der PDF-Version 1.3, also seit dem Jahr 2000, verhalten sich PDFs dank des eingebundenen Javascript-Code interaktiv. In der im Dezember 2006 veröffentlichten aktuellen Version 8 [1] (entspricht PDF-Version 1.7) umfasst die Dokumentation des Javascript-API bereits 220 Seiten. Deren Studium zeigt, dass sich PDF in Kombination mit Javascript tatsächlich Flash- und Ajax-Oberflächen annähert: Die Spanne für interaktive Elemente reicht vom Erzeugen von Dialogfeldern übers Generieren von Formularobjekten, Bookmarks und Anmerkungen im PDF zur Laufzeit bis zum Absenden der Daten an einen HTTP-Server oder zur Kommunikation über SOAP.
Sogar neue Seiten erzeugt ein Skript aus einem Template. Die Inhalte der Felder liest »this.Feldname« aus. Mit Javascript lassen sie sich prüfen und verarbeiten. Auch reguläre Ausdrücke stehen zur Verfügung. Wie in HTML gibt es Befehlsschaltflächen, Checkboxen, Comboboxen und Radio-Buttons. Das Event Handling funktioniert wie in der Webentwicklung üblich.
Abbildung 1: Der Adobe Reader ist kein reines Anzeigeprogramm. Dank seiner Javascript-Engine, lässt sich in PDFs auch Anwendungslogik einbetten.
Handwerkszeug
Die Rendering Engine, der kostenlose Adobe Reader, ist wie der Flash Player zwar nicht quelloffen, aber weit verbreitet. Unter den freien Programmen gibt es bisher keinen gleichwertigen Ersatz: Kpdf, Xpdf Evince und andere unterstützen diese Features noch nicht.
Doch wie sieht es unter Linux mit Tools zum Erzeugen geskripteter PDFs aus? Dank Scribus\' Fähigkeiten, Javascript-Code in PDFs einzubinden, gar nicht einmal schlecht (vergleiche "Bitparade" ab Seite 62 in diesem Heft).
Zwar unterstützt die freie Software den Entwickler nicht so tatkräftig wie der für Mac OS und Windows verfügbare kostenpflichtige Adobe Acrobat, denn es steht lediglich ein Editor ohne Syntax-Highlighting zur Verfügung. Auch der Debugger der Adobe-Software fehlt unter Linux. Eine Fehlerkonsole bringt aber schon der Adobe Reader mit.
Für interaktive PDF-Formulare, die beispielsweise den vom Benutzer eingegebenen Wert prüfen oder abhängig von dessen Eingabe neue Felder einblenden, oder für Umfragen, die ihre Daten gleich an einen Server weiterleiten, reicht das frei verfügbare Handwerkszeug immerhin jetzt schon. In diesem Kontext erwähnenswert ist außerdem, dass auch das freie Zeichenprogramm Inkscape seit seiner Version 0.46 nicht nur PDFs schreibt, sondern auch existierende Dateien einliest.
Javascript in PDFs ist umfassend dokumentiert. Außer der bereits erwähnten API-Beschreibung gibt es von Adobe noch eine Anleitung [2], die viele Quelltextbeispiele enthält.