PDF-Formularfelder mit Acrobat anlegen (InfoMail 172)

Von Jürgen Schell. | 27 März, 2012 - 11:26
Kurzbeschreibung:

In diesem Text, der dem InfoMail Tipp 172 entspricht, beschreiben wir, wie man ein RagTime-Dokument so gestaltet, dass anschließend der Formularassistent von Adobe Acrobat automatisch Eingabefelder erzeugen kann.

Ein RagTime-Beispiel-Dokument und das resultierende PDF-Formular finden Sie im Anhang.

Ausführliche Beschreibung:

Kürzlich gab es im RagTime-Forum (http://experts.ragtime.de) eine längere Diskussion zum Erstellen von Acrobat-Formularen mit RagTime mit dem Titel »Ausfüllbares PDF-Formular von RagTime aus erstellen«. Im konkreten Fall ging es um Textfelder, und die Diskussion endete mit einen unkonventionellen Vorschlag. Auf den komme ich am Ende noch einmal zurück. Zunächst möchte ich hier den Standardweg beschreiben.

Für den Standardweg benötigen Sie - außer natürlich RagTime - Adobe Acrobat und Distiller in der Vollversion. Der Acrobat Reader reicht hierfür nicht aus.

Die Grundlage von dem Trick ist folgende: Adobe Acrobat ist in der Lage, bestimmte Gestaltungselemente einer Seite zu erkennen und automatisch in Formularelemente umzuwandeln. Dafür werden Unterstriche und Boxen ausgewertet.

Für die meisten Formulare eignen sich RagTime Rechenblätter am besten. Man kann auch Text benutzen, aber meist ist es mit Tabellen einfacher. Die Beispiele hier benutzen deshalb fast alle Tabellen.

Ein erstes Experiment

Beginnen wir mit einem einfachen Beispiel. In einem Rahmen mit einer Tabelle werden in Spalte A mit je einer Leerzeile dazwischen die Wörter Vorname, Nachname. Firma, Straße, PLZ und Ort eingegeben. Die Spalte B wird etwas breiter gezogen und die Zellen hinter den Wörtern werden angeklickt. (Tipp: Mit gedrückter Strg- / Befehlstaste können auch nicht zusammenhängende Zellen zugleich ausgewählt werden.) Im Dialog »Rechenblatt - Zellränder« wird den Zellen je ein unterer Rand zugewiesen.

Das Dokument wird anschließend über den Dialog »Datei / Ablage - PDF exportieren« exportiert. Wählen Sie im Dialog in der Tafel »Auftrag« die Methode »Adobe Distiller«.

Das Destillierte Dokument öffnen Sie anschließend in Adobe Acrobat. Im Menü »Formulare« starten Sie nun den Formularassistenten. Ein paar Mausklicks, und aus den unterstrichenen Rechenblattzellen sind PDF-Eingabefelder geworden, je mit den Wörtern davor als Benennung.

Dieser Schritte sind eigentlich schon das wirklich wichtige Gebeimnis. Die übrigen Punkte betreffen nur noch, was Acrobat so alles als Felder erkennt.

Wörter unter einer Linie

Wählen Sie eine ganze Rechenblattzeile aus und geben ihr einen unteren Rand. Tippen Sie nun eine Zeile darunter in Spalte A das Wort »Datum«, in Spalte C das Wort »Ort« und in E das Wort »Unterschrift«. Exportieren Sie genau wie im Ersten Versuch das Dokument als PDF und benutzen Sie den Acrobat-Formularassistenten. Oberhalb der Linie entstehen drei Eingabefelder für Datum, Ort und Unterschrift.

Mehrzeilige Formularfelder

Ziehen Sie in RagTime ein Rechteck auf, das hoch genug ist, um mehrere Zeilen Text aufzunehmen. Wählen Sie für das Rechteck die »Standardlinie« als Format, damit es mit schwarzem Rand gedruckt wird. Tippen Sie den Feldnahmen oben links in das Rechteck. Das Rechteck muss deutlich breiter sein, als der Feldname. Ziehen Sie es also ggf. breiter.

Der Acrobat Formularassistent konvertiert solche Rechtecke in mehrzeilige Formularfelder. Das Feld steht dabei rechts von dem Feldtitel, den Sie getippt haben, oder unter dem Feldtitel im Rechteck. Das hängt von den Abmessungen ab. Im Zweifel gilt also: Probieren.

Eingabe in festgelegte Räume für Buchstaben

Viele traditionelle Formulare haben Markierungen für einzelne Buchstaben, Überweisungsformulare auf Papier sind ein Beispiel. Der Acrobat-Formularassistent kann das auch. Variante A: Legen Sie ein Rechenblatt mit (ungefähr) quadratischen Zellen an. Wählen Sie einen Bereich von Zellen aus, in dem die Buchstaben eingegeben werden sollen. Unter »Rechenblatt - Zellränder« schalten Sie die unteren, rechten und linken Ränder ein.

Variante b): Legen Sie Spalten an, bei denen sich quadratische Zellen und eine sehr schmale Spalte abwechseln. (Am einfachsten geht das, wenn man die Einstellungen für zwei Spalten justiert, diese Spalten dann kopiert und in die Spalten rechts davon einsetzt.) Wählen Sie jeweils die quadratischen Zellen aus, die die Buchstaben aufnehmen sollen (wieder mit mit strg- oder Befehlstaste) und schalten Sie in »Rechenblatt - Zellränder« alle Ränder ein.

Unmittelbar unter, über oder links dieses Bereichs tippen Sie den Feldnamen.

Auswahlfelder und Radioknöpfe

Man kann auch Auswahlfelder und Radioknöpfe anlegen. Letztere sind leider etwas komplizierter. Der Basis-Trick dabei: Immer wenn der Acrobat-Formularassistent auf relativ kleine Quadrate stößt, neben denen Rechts etwas steht, macht er daraus Ankreuzfelder.

Findet der Formularassistent Kreise statt Quadrate, macht er daraus Radioknöpfe. Es ist bei Radioknöpfen aber noch wichtig, dass über der Gruppe ein Name für die Gruppe steht. Schließlich soll ein Radioknopf wieder abgeschaltet werden, wenn man einen anderen anklickt. Dazu muss klar sein, welche Knöpfe zusammengehören.

Für Ankreuzfelder habe ich in einem Rechenblatt wieder eine Spalte angelegt, die quadratische Zellen hat. In meinem Beispiel ist das Quadrat je 6,5 mm hoch und breit. Rechts daneben kommt eine sehr schmale Spalte für den Abstand zur Beschriftung.

In jeder zweiten Zeile hab ich eine der quadratischen Zellen ausgewählt, und unter »Rechenblatt - Zellränder« alle Ränder eingeschaltet. Als Linienstärke hab ich ihnen 1,5 Punkt gegeben. Rechts von jedem umrahmten Quadrat kommt ein Feldname.

Für Radioknöpfe habe ich die Tabelle fast genau so aufgebaut. Aber statt Zellen zu umrahmen, habe ich in eine Zelle in der dritten Zeile eine Zeichnug gelegt (Zelle anklicken, dann »Rechenblatt - Inhaltsart - Zeichnung). In dieser Zeichnung habe ich einen kleinen Kreis gezeichnet, Linienstärke 2 Punkt. Aus dem Inventar habe ich diese Zeichnung in die übrigen Zellen gezogen, die zu Radioknöpfen werden sollen. Rechts daneben kommen wieder die Bezeichnungen. In die erste Zeile, über den Knöpfen, habe ich dann den Titel der Gruppe geschrieben.

Die Diskussion im Forum

Zum Abschluss noch knapp, wie letztlich die Diskussion im Forum verlaufen ist: In dem Fall war die konkrete Anforderung, dass die Textfelder mit der Schriftart Courier in einer bestimmten Größe und Farbe angelegt werden sollten. Nach einigem hin und her ist für den Zweck der Vorschlag entstanden, spezielle EPSF-Dateien zu benutzen. Sie werden in RagTime als Bilder platziert und erzeugen die Formularfelder mit den gewünschten Einstellungen. Wer keine Hemmungen davor hat, mit einem Textverarbeitungsprogramm ein paar Anpassungen am EPS-Code dieser Dateien vorzunehmen, hat damit ein handliches Werkzeug, dass die Platzierung der Eingabefelder präzis erlaubt.

Die Idee zu diesen Dateien beruht auf dem »pdfmark-Einmaleins« von Thomas Merz, http://www.pdflib.com/de/developer/technische-dokumente/buecher/pdfmark-einmaleins/. Eine ausführliche Beschreibung mit fertigen EPS-Bildern habe ich als Zusammenfassung der Diskussion unter dem Titel »PDF-Textfelder mit RagTime erstellen« auf http://www.j-schell.de/node/519 beschrieben.

Ein Reiz dieser Lösung ist, dass sie auch mit dem kostenlosen Open-Source-Produkt Ghostscript funktioniert.

Anhang Größe
Beispiel-Dokument.rtd 48.58 KB
Formularfelder.pdf 76.07 KB