## Wie Sie Ihr erstes PDF-Online-Formular mit Scribus erstellen

mit Dank an Maciej Hanski, der dies freundlicherweise aus dem polnischen Original (mit GNU-Lizenz für freie Dokumentation) übersetzt hat.

Die Beispieldatei `scribusformphp.tar.gz`, ein Tarball-Archiv mit PHP-Datei und einem Beispieldokument, ist erhältlich unter http://docs.scribus.net

Einer der größten Vorteile von Scribus ist die Möglichkeit, PDF-Formulare mit eingebetteten JavaScript-Skripten (als Adobe-eigene Version, beschrieben in der Adobe Javascript-Referenz unter http://partners.adobe.com/asn/developer/pdfs/tn/5186AcroJS.pdf) zu erstellen.

Es ist recht einfach, mit Scribus ein neues Formular zu erstellen. Als erstes klicken wir auf die Schaltfläche "Neues Dokument" oder wählen im Menü unter Datei den Punkt Neu.

Nachdem wir das Gitternetz (Menü Ansicht -> Gitter ein) aktiviert haben, wird es uns dabei helfen, die Formularfelder korrekt auf der Seite auszurichten. Für den Titel und die Feldbezeichnungen benötigen wir einige Textrahmen - Nur wenige Klicks auf die Schaltfläche [ab], und alle Textrahmen erscheinen im Nu.

Wenn unsere Rahmen mit Text gefüllt sind, können wir ihre Eigenschaften über die Eigenschaften-Palette ändern, die sich im Menü unter Werkzeuge befindet.

Nun können wir beginnen, Formularelemente hinzuzufügen: einige Textfelder und eine Schaltfläche zum Abschicken unseres Formulars. Um ein Feld hinzuzufügen, klicken Sie einfach auf den Pfeil rechts neben dem OK, und wählen Sie aus der Auflistung einen Typ aus: Schaltfläche, Textfeld, Kontrollkästchen, Kombinationsfeld oder Listenfeld.

Das gerade aktive Element des Formulars hat einen Rahmen mit rotem Rand; Sie können ein Element aktivieren, indem Sie auf die Schaltfläche "Auswählen" (die mit dem Pfeilkreuz) und dann auf das gewünschte Element klicken.

Wenn Sie auf ein Element rechtsklicken, aktivieren Sie ein neues Menü. Wir wählen Feldeigenschaften und definieren Feldnamen (wir brauchen die Feldnamen für unser PHP-Skript, wohin das Formular gesendet wird), Feldtypen (z.B. Zahl, Zeit, Datum) sowie Aktionen, die bei bestimmten Ereignissen ausgeführt werden sollen (Mouse-Enter, Mouse-Exit, onBlur - also beim Verlassen des Elements - usw.).

Hier definieren wir das Feld No als Zahl. Der Acrobat Reader wird danach nichts anderes als gültige Eingabe akzeptieren.

Hier definieren wir nun selbst ein Kontrollskript für das Feld Name: Nach Änderung des Feldinhalts wird ein akustisches Signal ertönen, und es erscheint eine Warnmeldung (nicht sehr anspruchsvoll, ich weiß, doch immerhin ausreichend, um die Möglichkeiten von PDF zu zeigen). Scribus hat einen eigenen einfachen Texteditor, mit dem wir das Skript als separate Datei speichern können. Selbstdefinierte Skripte lassen sich nicht nur auf Formularfeld-Ebene, sondern auch als globale Skripte anlegen (Bearbeiten -> JavaScripts).

Wenn das Skript gespeichert und der Editor geschlossen ist, erscheint der Skript-Inhalt unter Feldeigenschaften.

Wir müssen noch festlegen, an welchen URL der Inhalt des Formulars gesendet wird (Ein einfaches PHP-Skript an der Zieladresse wird die empfangenen Daten formatieren und darstellen). Unter "Eigenschaften" wählen wir für die Schaltfläche den Aktionstyp Submit form/Formular abschicken und geben die Adresse unseres PHP-Skripts ein: scribus_test.php. Schließlich markieren wir noch das Kästchen Daten als HTML übertragen (die andere Möglichkeit, als FDF-Daten, wäre etwas ganz anderes), und damit sind wir nun fertig.

Das einzige, was noch zu tun bleibt, ist der Export des Dokuments nach PDF: Menüauswahl Datei -> Export... ->; Export nach PDF....
Wir wählen Acrobat 5.0 als Dateiformat aus und speichern das Dokument.

Das Ergebnis unserer Arbeit kann von hier heruntergeladen und getestet werden: http://docs.scribus.net. Damit das Formular übermittelt werden kann, müssen wir es in einem Browserfenster öffnen, wobei Netscape 4.* oder Mozilla die sichersten sind (Kontrollieren Sie die Plugins von Mozilla, um zu sehen, ob das Acrobat Reader-Plugin aktiviert ist. Falls nicht, müssen Sie es mit Mozillas Plugin-Verzeichnis symbolisch verlinken. In meinem Fall hier heißt Mozillas Plugin-Verzeichnis /usr/lib/mozilla-1.3/plug-in, und das hiermit zu verlinkende Plugin heißt /usr/local/Acrobat5/Browsers/intellinux/nppdf.so).

Mein ganz persönlicher Eindruck: Scribus ist als Werkzeug für die Arbeit mit PDF-Formularen komfortabler zu bedienen als Adobe Acrobat 5.0 (der einzigen Version, mit der ich gearbeitet habe). Es ist wesentlich einfacher, mit Scribus ein Dokumentenlayout zu gestalten, denn Acrobat gestattet nur das Bearbeiten existierender Dokumente, ein völlig neues Erstellen ist damit nicht möglich. Scribus stellt uns die volle Kontrolle über das Endergebnis zur Verfügung und läßt uns viel mehr Freiheit beim Ändern eines Dokumentenlayouts. Außerdem lassen sich Scribus-Dateien sogar mit einem simplen Texteditor bearbeiten, denn sein Dateiformat basiert völlig auf XML.

Maciej Hanski - 22.10.2003

Einige nützliche PDF/JavaScript-Links:

- Planet PDF
- Acrobat JavaScript Object Specification
- JavaScript and Scribus

Einige nützliche CGI/PHP-Links:

- http://www.cgi101.com/book/ch4/text.html
- http://www.cgi101.com/book/ch4/post-cgi.html
- http://www.mkaz.com/reference/php/setup_linux.html