Wiki-Quellcode von PDF-Import


Zeige letzte Bearbeiter
1 Im {{designer/}} können PDF-Formulare importiert werden. Technisch gesehen werden sowohl PDF-Dokumente mit sogenannten AcroForm-Formularen als auch solche mit XFA-Formularen unterstützt. Viele PDF-Formulare nutzen AcroForm-Formulare. XFA-Formulare (XFA: XML Forms Architecture) sind ein von JetForm und Adobe entwickelter Standard, der aktuell nicht von vielen PDF-Betrachtungsprogrammen unterstützt wird. Zudem ist auch der direkte Import von XFA-Formularen als //xdp//-Datei möglich.
2
3 {{version major="7" minor="2"/}} Das Importieren von PDF-Formularen wird erst ab {{formcycle/}} Version 7.2 unterstützt.
4
5 {{content/}}
6
7 == Import ==
8
9 {{figure image="pdf_import_de.png"}}
10 Position des Menüpunktes //Importieren// im Menü des {{designer case="gen"/}}.
11 {{/figure}}
12
13 Zum Import eines im PDF-Format vorhandenen Formulars muss zunächst der {{designer/}} geöffnet werden. Dies geschieht beim Anlegen eines neuen {{formcycle/}}-Formulars automatisch. Anschließend muss dort in der Aktionsleiste unter //Mehr// der Menüpunkt //Importieren// gewählt werden. In dem sich öffnenden Datei-Auswahldialog kann nun die //PDF//-Datei selektiert werden.
14
15 Falls das PDF-Dokument ein XFA-Formular enthält, erfolgt umgehend der Import, das aktuelle Formular wird dabei durch den Inhalt des XFA-Formulars ersetzt.
16
17 Andernfalls öffnet sich der PDF-Importer, mit dem das PDF-Formular halbautomatisch importiert werden kann. Vorhandene Formularfelder im PDF-Formular werden angezeigt und können an die gewünschte Stelle platziert werden.
18
19 {{info}}
20 Nach dem Import wird das Formular nicht automatisch gespeichert.
21 {{/info}}
22
23 == XFA-Import ==
24
25 PDF-Dokumente mit XFA-Formularen beziehungsweise XFA-Formulare als XDP-Datei können direkt ohne manuelle Bearbeitung importiert werden.
26
27 Beim Import wird automatisch eine Schaltfläche am Ende des Formulars eingefügt, mit dem es abgesendet werden kann. Bei mehrseitigen Formularen werden zudem automatisch Schaltflächen für die Navigation zwischen den einzelnen Seiten angelegt.
28
29 Eine Nachbearbeitung ist anschließend wie bei anderen Formularen über den Formular-Designer möglich.
30
31 == PDF-Import ==
32
33 {{figure image="de_pdf_importer_field.png"}}
34 Darstellung des PDF-Importers innerhalb des Designers
35 {{/figure}}
36
37 Der PDF-Importer ermöglicht die Übernahme von Formularfeldern und Texten aus einem PDF-Dokument in den Designer. Der Importer verfügt über verschiedene Möglichkeiten, um Formularfelder und Texte möglichst einfach und schnell übernehmen zu können.
38
39 Zuerst muss ein PDF-Formular geöffnet werden, etwa wie oben beschrieben über den Formular-Designer via //Mehr// -> //Importieren//. Das PDF-Formular wird dann angezeigt, bei mehrseitigen PDF-Formularen kann mit dem Mausrad gescrolled werden. Alle Formularfelder, welche es im PDF-Formular gibt, werden als hellblaue Felder dargestellt und können markiert werden, um diese anschließend in das {{formcycle/}}-Formular übernehmen zu können. Links oben befindet sich die Aktionsleiste mit Schaltflächen für verschiedene Optionen und Einstellungen. Rechts oben befindet sich die Leise für die Feldkonfiguration, wo verschiedene Eigenschaften des aktuell ausgewählten Formularfelds bearbeitet werden können. Beide Leiste können mit der Maus an eine andere Stelle verschoben werden.
40
41 Der übliche Workflow zur Übernahme eines PDF-Formulars sieht wie folgt aus:
42
43 * Übernahme aller Formularfelder
44 ** Auswahl des nächsten Formularfelds. Es empfiehlt sich, in der Reihenfolge von oben nach unten durchzugehen.
45 ** Prüfen, ob der Label-Text korrekt ist. Gegebenenfalls einen anderen Label-Text auswählen.
46 * Übernahme von Erklärungstexten und Bildern aus dem PDF-Dokument
47 * Review des erstellten Formulars und (bei Bedarf) Einarbeiten von Anpassungen, um das Formular für die Nutzung als Webformular in einem Web-Browser zu optimieren
48
49 === Markieren von Text aus dem PDF-Dokument ===
50
51 Für verschiedene Funktionalitäten (Auswahl von Leittexten und Labels, Auswahl von Texten für Auswahloptionen, Übernahme von Absätzen) ist es erforderlich, Textpassagen im PDF-Dokument zu markieren. Dies kann auf verschiedene Weisen geschehen:
52
53 * Klick auf eine Zeile Text: Durch Klick auf einen Buchstaben einer Textzeile wird die gesamte Textzeile markiert. Wird ein Buchstabe geklickt, welcher bereits markiert ist, wird die Markierung aller Zeichen der Textzeile wieder aufgehoben.
54 * Überstreichen mit der Maus: Es ist auch möglich, mit der Maus Striche zu ziehen, um Texte zu markeren. Wird mit der Maus ein Strich über den gewünschten Text gezogen, so wird vom Strich überzogene Text markiert. Wird zusätzlich die Shift-Taste beim Ziehen des Strichs gedrückt gehalten, wird die Markierung des überzogenen Texts aufgehoben.
55 * Umranden mit der Maus: Wenn der gezogene Strich in der Nähe des Anfangs des Strichs aufhört, wird der Text markiert, welcher von dem gezogenen Kringel umschlossen wird. Das ist besonders dann sinnvoll, wenn längere Textpassagen markiert werden sollen. Wird zusätzlich die Shift-Taste beim Ziehen der Umrandung gedrückt gehalten, wird die Markierung des umrandeten Texts aufgehoben.
56
57 === Einfügen von Texten ===
58
59 Es ist möglich, Texte und Textabschnitte aus dem PDF-Formular zu übernehmen. Beispielsweise ist dies sinnvoll, um Hinweistext und Erläuerungen aus dem PDF-Formular in das {{formcycle/}}-Formular einzufügen.
60
61 Hierzu wird zuerst der Text wie oben beschrieben selektiert. Dann kann der Text entweder mit der Maus per Drag&Drop in den Formular-Designer an die gewünschte Stelle gezogen werden. Alternativ ist es auch möglich, den Text über die Tastenkombination Strg+C in die Zwischenablage zu kopieren und dann manuell im Formular-Designer einzufügen. Schließlich kann auch analog zu Formularfeldern die Enter-Taste beziehungsweise der Einfügen-Button gedrückt werden, um den Text an der aktuellen Stelle im Formular-Designer einzufügen.
62
63 Sobald Text markiert wurde, wird der ausgewählte Text rechts oben in der sich aufklappenden Leiste angezeigt. Rechts oben in der Leiste befindet sich ein umkreister Buchstabe (a, b, c oder d). Dieser gibt den Modus für Zeilenumbrüche an. Durch Klick kann zwischen den vier vorhandenen Modi gewechselt werden:
64
65 ; Modus (a) für Zeilenumbruch:
66 : Es werden immer Zeilenumbrüche eingefügt, wo diese erkannt werden können.
67 ; Modus (b) für Zeilenumbruch:
68 : Modus für Text, bei dem Zeilenumbrüche durch Leerzeilen getrennt sind. Wenn der Abstand zweier Textzeilen mindestens eine Zeilenhöhe beträgt, wird bei diesem Modus ein Zeilenumbruch zwischen diesen beiden Zeilen eingefügt.
69 ; Modus (c) für Zeilenumbruch:
70 : Dieser Modus ist für Blocktext optimiert, bei dem Absätze nicht durch Leerzeilen getrennt werden. Blocktext zeichnet sich dadurch aus, dass alle Zeilen die gleiche Breite haben. Bei einem Zeilenumbruch ist die Breite einer Zeile geringer. Dieser Modus versucht, solche Zeilenumbrüche zu erkennen.
71 ; Modus (d) für Zeilenumbruch:
72 : Es werden keine Zeilenumbrüche eingefügt, der gesamte Text ist einzeillig.
73
74 === Einfügen von Bildern ===
75
76 Weiterhin ist es ebenfalls möglich, Bilder wie etwa Logos aus dem PDF-Dokument direkt in das {{formcycle/}}-Formular zu übernehmen. Hierzu kann entweder mit der Maus über das Bild gefahren und der Plus-Knopf gedrückt werden, um das Bild an die aktuelle Stelle im Formular-Desiger einzufügen. Weiterhin ist es auch möglich, das Bild per Drag&Drop in den Formular-Designer an die gewünschte Stelle zu ziehen.
77
78 {{version major="7" minor="2" patch="1"/}} Sollte ein Bild im PDF sehr groß sein und andere Bilder überdecken, kann das Bild temporär ausgeblendet werden, indem die Strg-Taste gedrückt gehalten wird und dann mit der Maus auf das Bild geklickt wird. Das Bild wird wieder eingeblendet, wenn der Button zum Einblenden von Bildern in der Aktionsleiste betätigt wird.
79
80 Technischer Hinweis: Sogenannte //Stencil//-Bilder (//XObject// mit //ImageMask//-Eintrag auf //true//) im PDF-Dokument werden aktuell nur teilweise unterstützt.
81
82 === Einfügen von Formularfeldern ===
83
84 Nachdem der PDF-Importer im Designer geöffnet wurde, ist die Auswahl eines Formularfeldes durch einen Klick oder durch das Gedrückthalten beziehungsweise das Markieren in dem PDF-Formular möglich.
85
86 Um das Formularfeld in den Formular-Designer einzufügen, kann dies per Drag&Drop mit der Maus an die gewünschte Stelle im Formular-Designer gezogen werden. Alternativ ist es auch möglich, durch Drücken von Enter beziehungsweise durch Drücken des Einfügen-Buttons das Feld an der aktuellen Stelle im Formular-Designer einzufügen.
87
88 === Auswahl des Label-Texts ===
89
90 Es wird versucht, den Label-Text aus dem PDF-Formular auszulesen. Allerdings verfügen nicht alle PDF-Formulare über einen zugänglichen Namen für die Formularfelder (Eintrag //TU// im Feld-Dictionary). In solchen Fällen wird empfohlen, den Label-Text manuell auszuwählen. Dazu wird nach Auswahl des Formularfelds der gewünschte Text für das Label wie oben beschrieben markiert. Der markiere Text wird für das Label übernehmen und verwendet, sobald das Formularfeld in den Formular-Designer eingefügt wird.
91
92 === Auswahl des Options-Texts ===
93
94 {{version major="7" minor="2" patch="1"/}}
95
96 Bei Checkboxen und Radiobuttons gibt es im PDF-Dokument keinen zugänglichen Beschreibungstext. Der PDF-Importer versucht, einen Beschreibungstext zu eraten, dieser kann aber falsch sein. Sobald eine Checkbox oder ein Radiobutton ausgewählt wurde, wird der gefundene Beschreibungstext orange umrandet. Zudem wird der Beschreibungstext mit einer Zahl versehen, sodass eine Zuorndung möglich ist, wenn mehrere Checkboxen oder Radio-Buttons ausgewählt sind. Um den Beschreibungstext zu ändern, kann auf den kleinenr Kreis mit der Zahl oberhalb des Beschreibungstext geklickt werden. Wie beim Label ist es dann möglich, einen Text zu markieren, der als neuer Beschreibungstext verwendet werden soll. Durch Drücken von Enter wird der markierte Text übernommen, durch Drücken von Escape wird der markierte Text verworfen und der bisherige Beschreibungstext weiter verwendet. Alternativ kann der markierte Text auch durch erneutes Klicken auf den kleinen Kreis mit der Zahl übernommen werden und durch Klicken auf das PDF-Dokument außerhalb von Texten verworfen werden.
97
98 Sollte gar kein Text für eine Option gefunden werden, dann ist auch der kleine Kreis nicht vorhanden. Um einen neuen Text für die Option zu markieren, kann auch direkt durch Klick auf die Checkbox oder den Radiobutton bei Gedrückhalten der Strg-Taste in den Modus zum Auwählen eines neuen Texts gewechselt werden.
99
100 === Intelligenter Einfügemodus ===
101
102 Initial ist der sogenannte intelligente Einfügemodus aktiviert. Über den entsprechenden Button in der Button-Leiste links oben kann der Modus aktiviert oder deaktiviert werden.
103
104 Der Einfügemodus steuert, an welcher Stelle Formularfelder eingefügt werden, wenn diese nicht per Drag&Drop in das Formular gezogen werden (sonder über Enter oder den Einfüge-Button).
105
106 Intelligenter Einfügemodus deaktiviert: Formularfelder werden immer unterhalb des aktuell ausgewählten Elements im Formular-Designer eingefügt.
107
108 Intelligenter Einfügemodus aktiviert: Es wird versucht, Felder relativ zu anderen Feldern einzufügen, die bereits aus dem PDF-Formular in den Formular-Designer übernommen wurden. Fall beispielsweise im PDF-Formular 3 Felder nebeneinander angeordnet sind und das linke und rechte Feld bereits in den Formular-Designer übernommen wurde und nun das mittlere Feld eingefügt werden soll, wird versucht, dieses zwischen den beiden bereits existierenden Felder im Formular-Designer zu platzieren. Weiterhin wird nach Übernahme eines Felds sofort das nächste Feld im PDF-Formular selektiert.
109
110 Speziell bei ordentlich erstellten PDF-Formularen, welche einen sprechenden Text für alle Formularfelder hinterlegt haben und die keine Tabellen verwenden, welche besser durch wiederholte Formularfelder umgesetzt werden sollten, ist dieser Modus besonders effektiv. Alle Formularfelder können dann durch schnelles Drücken von Enter automatisch in den Formular-Designer eingefügt werden.
111
112 === Einfügen neuer Formularfelder ===
113
114 Oben in der Leise zur Konfiguration des Formularfelds befinden sich die verschiedenen Icons, um den Feldtyp auszuwählen. Wird per Drag&Drop eines dieser Icons in den Formular-Designer gezogen, wird ein Feld mit diesem Feldtyp und der aktuellen Konfiguration in den Formular-Designer eingefügt. Wird beim Drag&Drop die Strg-Taste gedrückt gehalten, wird stattdessen ein neues Formularfeld des entsprechenden Feldtyps in das Formular eingefügt. Dies ist vor allem nützlich, um schnell Fieldsets und Container in das Formular einzufügen, ohne jedesmal die Elementauswahlleise links im Designer öffnen zu müssen.
115
116 === Aktionsleiste ===
117
118 {{figure image="de_pdf_importer_field_bar.png"}}
119 Aktionsleiste zur Anpassung des PDF-Importers
120 {{/figure}}
121
122 Durch das Öffnen des PDF-Importers sind verschiedene Aktionen im Importer über die Aktionsleiste im oberen Bereich möglich:
123
124 ; {{fa6icon iconset="solid" name="folder-open" title="PDF öffnen" /}}
125 : PDF öffnen. Verwirft das aktuelle PDF-Formular und öffnet ein neues PDF-Formular
126 ; {{fa6icon iconset="solid" name="magnifying-glass" title="Suchen" /}}
127 : Suchen nach Formularfeld. Ermöglicht die Suchen nach Formularfeldern anhand ihrer Namen im PDF-Formular. Durch Drücken von Enter werden die gefundenen Felder optisch hervorgehoben.
128 ; {{fa6icon iconset="solid" name="newspaper" title="Felder ein- oder ausblenden" /}}
129 : Formularfelder ein- oder ausblenden. Blendet die Formularfelder aus dem PDF-Formular ein oder aus. Dies kann nützlich sein, wenn schlecht erstelle PDF-Formulare große Formularfelder haben, die den Rest des PDF-Formulars verdecken.
130 ; {{fa6icon iconset="solid" name="image" title="Bilder ein- oder ausblenden" /}}
131 : Bilder ein- oder ausblenden. Blendet die gefundenen Bilder im PDF-Formular ein oder aus. Dies kann nützlich sein, wenn ein PDF-Formular große Bilder hat, welche sonst den Rest des PDF-Formulars verdecken.
132 ; {{fa6icon iconset="solid" name="lightbulb" title="Einfügemodus umschalten" /}}
133 : Intelligenten Einfügemodus aktivieren oder deaktivieren. Versucht bei Aktivierung, Elemente intelligent einzufügen, indem im Formular nach bereits eingefügten Elementen gesucht wird. Siehe oben für eine genauere Beschreibung von diesem Modus.
134 ; {{fa6icon iconset="solid" name="search-minus" title="Verkleinern" /}} / {{fa6icon iconset="solid" name="search-plus" title="Vergrößern" /}}
135 : PDF-Formular vergrößern oder verkleinern. Stellt das PDF-Formular größer oder kleiner dar, damit es besser erkennbar ist.
136 ; {{fa6icon iconset="solid" name="id-card-clip" title="Felder aktualisieren" /}}
137 : Felder aktualisieren. Liest die Liste der bereits importierten Formularfelder erneut vom Formular-Designer ein und markiert diese im PDF-Dokument durch einen blauen Strich links am Formularfeld. Es wird bereits versucht, diese Automatisierung automatisch auszuführen, was aber nicht immer möglich ist. In dem Fall kann die Aktualisierung über diese Schalfläche manuell angestoßen werden.
138 ; {{fa6icon iconset="solid" name="window-restore" title="Öffnen in Popup" /}}
139 : Öffnen in Popup. Öffnet den PDF-Importer in einem separaten Browser-Fenster. Dies kann nützlich sein, wenn man keine einzelnen großen Bildschirm sondern nur mehrere kleine Bildschirme hat.
140 ; {{fa6icon iconset="solid" name="times" title="Schließen" /}}
141 : PDF-Importer schließen. Schließt den PDF-Importer und kehrt zurück zum Formular-Designer.
142
143 === Leiste für Feldkonfiguration ===
144
145 Rechts oben befindet sich die Leiste mit den Einstellungen für das aktuell ausgewählte Formularfeld. Sobald ein Feld markiert wurde, werden die Einstellungen automatisch anhand der Daten aus dem PDF-Formular vorbelegt. Bei Bedarf können die Einstellungen auch noch manuell bearbeitet werden.
146
147 Initial wird in der Leiste nur Feld-Typ und der Label-Text angezeigt. Durch Klick auf den Pfeil links oben an der Leiste kann diese ausgeklappt werden. Es stehen dann folgende Einstellungen zur Verfügung:
148
149 {{figure image="de_pdf_importer_field_config.png"}}
150 Konfiguration des Formularelements aus dem PDF-Formular
151 {{/figure}}
152
153 ; Feldtyp
154 : Auswahl der Art des Formularfelds. In Abhängigkeit des Formularfeldtyps aus dem PDF-Formular stehen dabei nur bestimmte Auswahlmöglichkeiten zur Verfügung. Beispielsweise kann bei Textfeldern zwischen ein- und mehrzeiligen Textfeldern gewechselt werden.
155 ; Name
156 : Name des Elements im {{formcycle/}} Formular. Standardmäßig wird der Name initial aus dem PDF-Formular übernommen.
157 ; Alias
158 : Alias des Elements im {{formcycle/}} Formular. Dieser wird nur gesetzt, wenn aus dem PDF-Formular ausgelesene Name ungültige Zeichen enthält, die im Formular-Designer nicht erlaubt sind.
159 ; Label-Text
160 : Label-Text des Elements im {{formcycle/}} Formular. Wie oben im Abschnitt zur Markierung von Texten beschrieben können hier auch zusätzliche Einstellungen zu Zeilenumbrüchen gemacht werden.
161
162 Weiterhin sind unten noch zwei Schaltflächen:
163
164 ; Einfügen
165 : Fügt die aktuelle Auswahl (nur Text oder Formularelement) in den Formular-Designer ein.
166 ; Leeren
167 : Hebt die aktuelle Auswahl auf, sodass kein Text und kein Formularfeld mehr markiert ist.
168
169 === Keyboard-Shortcuts ===
170
171 Folgende Tastenkombinationen können im PDF-Importer genutzt werden. (Hinweis: Im Betriebssystem MacOS muss statt der Strg-Taste die Kommandotaste (⌘) verwendet werden.)
172
173 ; Strg+O
174 : Neues PDF-Dokument öffnen
175 ; Strg+F
176 : Suche nach Formularfeldern
177 ; Strg+I
178 : Intelligenten Einfügemodus aktivieren oder deaktivieren
179 ; Strg+Q
180 : Wechseln zwischen den verschiedenen Feldtypen
181 ; Strg+Leertaste
182 : Umschalten zwischen den verschiedenen Modi für Zeilenumbrüche
183 ; Strg+X
184 : PDF-Dokument schließen
185 ; Enter, Strg+Y oder Leertaste
186 : Einfügen der aktuellen Auswahl in der Formular-Designer
187 ; Escape
188 : Aufheben der aktuellen Auswahl
189
190 == Anpassung der Formulare an {{formcycle/}} ==
191
192 Der Funktionsumfang von {{formcycle/}} ist deutlich größer als der von //XFA//- und //PDF//-Formularen. Um die in {{formcycle/}} vorhandenen Funktionalitäten vollumfänglich nutzen zu können, ist im Allgemeinen eine Anpassung des importierten Fomulars nötig und sinnvoll.
193
194 Dies betrifft bespielsweise die Datentypen von Eingabefeldern, bei denen in {{formcycle/}} eine größere Menge zur Auswahl stehen. Auch ist es nötig zu definieren, welche Elemente Mussfelder sind, sofern eine solche Funktion gewünscht wird. Es sollte des weiteren darauf geachtet werden, wie sich das Formular bei der responsiven Darstellung verhält, da das Ausgangsformat derartiges Verhalten nicht berücksichtigt. Schließlich solle auch geprüft werden, wo die Nutzung wiederholter Felder sinnvoll ist. Papier-Formulare im PDF-Format haben häufg mehrere Zeilen für die Aufnahme von mehreren Datensätzen (z.B. Adressen von mehreren Personen), welche in einem dynamischen Webformular besser als wiederholte Felder oder Fieldsets umgesetzt werden sollten.