Das dynamische PDF-Formular
Die PDF-Formulare können dynamisch erstellt werden. Dazu benötigen Sie einen Windows-Rechner und Adobe Acrobat 9 Pro oder Pro Extended. Das Formular hat dadurch den Vorteil, dass es gezielt auf die Eingaben des Benutzers reagiert.
Andreas Burkard Wie im Artikel Der Trend zu den PDF-Formularen im Publisher 09-2 aufgezeigt wurde, gibt es unterschiedliche Wege zum PDF-Formular. In diesem Artikel geht es um den aufwendigeren, jedoch auch leistungs-fähigeren Weg: das dynamische PDF-Formular mit dem LiveCycle Designer.
LiveCycle Designer (LC Designer) können Sie aus Acrobat 8 oder 9 starten. Verwenden Sie dazu im Menü Formulare > Formularassistenten star-ten und wählen Sie die Option Kein vorhandenes Formular aus. LC Designerwird gestartet. Klicken Sie nun im Assistenten die Option Leeres Formular verwenden, dort nehmen Sie das Standardformat aus und deaktivieren zuerst die Optionen der Formularrücklieferung. Nachdem Sie ein leeres Dokument eröffnet haben, empfiehlt es sich, den Arbeitsbereich zurückzusetzen. Dazu verwenden Sie aus dem Menü Fenster > Arbeitsbereich > Palettenpositionen zurücksetzen.
Die Dynamik des Formulares kann Bestandteil einer Tabelle sein. Wählen Sie aus dem Menü Tabelle > Tabelle einfügen. Bestimmen Sie im Fenster Tabelle einfügen nun 3 Spalten und 1 Textzeile. Achten Sie darauf, dass die Option Kopfzeile aktiviert und Fusszeile deaktiviert ist. Klicken Sie auf OK.
Sie können die Spalten und Zeilen verschieben. Ändern Sie anschliessend die Texte in der Kopfzeile, beispielsweise in Neue Zeilen, Name, Vorname.
Blenden Sie nun auf der linken Seite die Palette Hierarchie ein und betrachten Sie die Einträge. Aufgelistet werden die Tabelle, die Kopfzeile, die Zeile 1 und alle enthaltenen Zellen. Sie können über diese Einträge die Objekte einfacher anwählen.
Ziehen Sie aus der Standardbibliothek eine Schaltfläche in das Dokument. Wählen Sie aus dem Menü Fenster > Objekt. Geben Sie in der Objektpalette die Beschriftung «+» ein.Beachten Sie, dass die «+»-Schaltfläche aktiviert ist und verwenden Sie nachfolgend aus dem Menü Bearbeiten > Mehrere kopieren. Verwenden Sie eine horizontale Kopie mit der Option Rechts platzieren > Berührend.
Benennen Sie in der Objektpalette > Beschriftung die kopierte Schaltfläche mit «–».
Aktivieren Sie nun beideSchaltflächen. Ziehen Sie die beiden Schaltflächen in die Zelle direkt unterhalb der Kopfzeile Neue Zeile (in die Zelle 1).
Sie können nun beide Schaltflächen in der Grösse anpassen. Unter Umständen müssen Sie dazu in der Palette Zeichenhilfen die Option Am Raster ausrichten deaktivieren.
Benennen Sie die Schaltfläche in der Palette Hierarchie als Plus und Minus.
Nun müssen Sie in den Feldern der Tabelle eine Texteingabe ermöglichen. Aktivieren Sie dazu die beiden Zellen direkt unterhalb der Kopfzeilenzellen Name und Vorname. Ändern Sie anschliessend in der Palette Objekt den Zellentyp auf Textfeld.
Der nächste Vorgang ist ein wenig vorausgedacht. Sie haben noch keinen Auslöser mit den Schaltflächen vorgenommen. Doch stellen Sie sich vor, Sie klicken auf die Minus-Schaltfläche. Wie soll die Minus-Schaltfläche wissen, dass eine Zeile übrig bleiben soll? Genau darum geht es im folgenden Vorgehen.
Aktivieren Sie in der Palette Hierarchie die gesamte Zeile 1. Wählen Sie nachfolgend in der Palette Objekt das Register Bindung aus. Aktivieren Sie die Option Zeile für jedes Datenelement wiederholen > Min-Zähler > 1. Auf diese Weise muss im Minimum eine Zeile stehen bleiben.
Gegenwärtig wissen die beiden Schaltflächen nicht, wozu sie eigentlich da sind. Doch das wird sich nun ändern.
Aktivieren Sie die Plus-Schaltfläche. Öffnen Sie über das Menü Fenster den Skript-Editor. Der Skript-Editor ist quasi die Programmierkonsole des LC Designer.
Wählen Sie im Skript-Editor die Sprache JavaScript aus. Definieren Sie anschliessend im Bereich Anzeigen den Auslöser mit Click.
Klicken Sie nun in den leeren Bereich des Skript-Editors und schreiben Sie Zeile1 (ohne Zwischenraum!). Setzen Sie anschliessend einen Punkt. Automatisch öffnet sich das Eingabefenster mit Vorschlägen. Wählen Sie in diesem Hilfefenster instanceManager aus und drücken Sie die Enter-Taste. Geben Sie hinterher wieder einen Punkt ein. Erneut erscheint das Hilfefenster. Wählen Sie dort add.Instance aus und drücken Sie die Enter-Taste. Geben Sie anschliessend eine offene und eine geschlossene Klammer ein (steht in JavaScript für Methoden). Beenden Sie das Script mit einem Semikolon (Strichpunkt).
Der InstanceManager verwaltet das Erstellen und Entfernen der Formularmodellobjekte.
Aktivieren Sie nun die Minus-Schaltfläche. Achten Sie darauf, dass wiederum JavaScript als Sprache und Click im Bereich Anzeigen ausgewählt sind. Klicken Sie anschliessend erneut in den leeren Bereich des Script-Editors.
Schreiben Sie Zeile1 (auch an dieser Stelle ohne Zwischenraum!). Setzen Sie anschliessend einen Punkt. Wäh-len Sie im Hilfefenster instanceManager und geben Sie erneut einen Punkt ein. Wählen Sie dort remove.Instance. Schreiben Sie anschliessend in einer Klammer eine 1. Beenden Sie das Script mit einem Semikolon.
Wenn Sie sich bis hierhin durchgearbeitet haben, so möchten Sie sicherlich gespannt ihr erstes dynamisches Formular testen. Klicken Sie dazu ganz einfach auf die Registerkarte PDF-Vorschau. Mit der PDF-Vorschau können Sie das Formular unmittelbar im Designer testen. Es ist gewissermassen der Vorschaumodus.
Frustriert werden Sie nun aber feststellen, dass sich in der PDF-Vorschau nichts bewegt. Keine Spur von dynamisch!
Wie lautet schon wieder der Titel dieses Artikels? Ja, genau: Das dynamische PDF-Formular! So betrachtet, sind Sie auch nur wenige Klicks von der Lösung entfernt.
Klicken Sie auf die Registerkarte > Designansicht. Wählen Sie dann aus dem Menü Datei > Speichern. Benennen Sie das Formular und ändern Sie den Dateityp auf Dynamisches XML-Formular von Adobe (*.pdf). Schliessen Sie die Datei und öffnen Sie das Formular diesmal in Acrobat oder im Adobe Reader. Jetzt zeigt der Test, dass das Formular dynamisch ist!