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 Technischer Hinweis: Sogenannte //Stencil//-Bilder (//XObject// mit //ImageMask//-Eintrag auf //true//) im PDF-Dokument werden aktuell nicht unterstützt.
79
80 === Einfügen von Formularfeldern ===
81
82 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.
83
84 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.
85
86 === Auswahl des Label-Texts ===
87
88 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.
89
90 === Intelligenter Einfügemodus ===
91
92 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.
93
94 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).
95
96 Intelligenter Einfügemodus deaktiviert: Formularfelder werden immer unterhalb des aktuell ausgewählten Elements im Formular-Designer eingefügt.
97
98 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.
99
100 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.
101
102 === Einfügen neuer Formularfelder ===
103
104 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.
105
106 === Aktionsleiste ===
107
108 {{figure image="de_pdf_importer_field_bar.png"}}
109 Aktionsleiste zur Anpassung des PDF-Importers
110 {{/figure}}
111
112 Durch das Öffnen des PDF-Importers sind verschiedene Aktionen im Importer über die Aktionsleiste im oberen Bereich möglich:
113
114 ; {{fa6icon iconset="solid" name="folder-open" title="PDF öffnen" /}}
115 : PDF öffnen. Verwirft das aktuelle PDF-Formular und öffnet ein neues PDF-Formular
116 ; {{fa6icon iconset="solid" name="magnifying-glass" title="Suchen" /}}
117 : 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.
118 ; {{fa6icon iconset="solid" name="newspaper" title="Felder ein- oder ausblenden" /}}
119 : 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.
120 ; {{fa6icon iconset="solid" name="image" title="Bilder ein- oder ausblenden" /}}
121 : 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.
122 ; {{fa6icon iconset="solid" name="lightbulb" title="Einfügemodus umschalten" /}}
123 : 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.
124 ; {{fa6icon iconset="solid" name="search-minus" title="Verkleinern" /}} / {{fa6icon iconset="solid" name="search-plus" title="Vergrößern" /}}
125 : PDF-Formular vergrößern oder verkleinern. Stellt das PDF-Formular größer oder kleiner dar, damit es besser erkennbar ist.
126 ; {{fa6icon iconset="solid" name="id-card-clip" title="Felder aktualisieren" /}}
127 : 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.
128 ; {{fa6icon iconset="solid" name="window-restore" title="Öffnen in Popup" /}}
129 : Ö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.
130 ; {{fa6icon iconset="solid" name="times" title="Schließen" /}}
131 : PDF-Importer schließen. Schließt den PDF-Importer und kehrt zurück zum Formular-Designer.
132
133 === Leiste für Feldkonfiguration ===
134
135 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.
136
137 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:
138
139 {{figure image="de_pdf_importer_field_config.png"}}
140 Konfiguration des Formularelements aus dem PDF-Formular
141 {{/figure}}
142
143 ; Feldtyp
144 : 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.
145 ; Name
146 : Name des Elements im {{formcycle/}} Formular. Standardmäßig wird der Name initial aus dem PDF-Formular übernommen.
147 ; Alias
148 : 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.
149 ; Label-Text
150 : 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.
151
152 Weiterhin sind unten noch zwei Schaltflächen:
153
154 ; Einfügen
155 : Fügt die aktuelle Auswahl (nur Text oder Formularelement) in den Formular-Designer ein.
156 ; Leeren
157 : Hebt die aktuelle Auswahl auf, sodass kein Text und kein Formularfeld mehr markiert ist.
158
159 === Keyboard-Shortcuts ===
160
161 Folgende Tastenkombinationen können im PDF-Importer genutzt werden. (Hinweis: Im Betriebssystem MacOS muss statt der Strg-Taste die Kommandotaste (⌘) verwendet werden.)
162
163 ; Strg+O
164 : Neues PDF-Dokument öffnen
165 ; Strg+F
166 : Suche nach Formularfeldern
167 ; Strg+I
168 : Intelligenten Einfügemodus aktivieren oder deaktivieren
169 ; Strg+Q
170 : Wechseln zwischen den verschiedenen Feldtypen
171 ; Strg+Leertaste
172 : Umschalten zwischen den verschiedenen Modi für Zeilenumbrüche
173 ; Strg+X
174 : PDF-Dokument schließen
175 ; Enter, Strg+Y oder Leertaste
176 : Einfügen der aktuellen Auswahl in der Formular-Designer
177 ; Escape
178 : Aufheben der aktuellen Auswahl
179
180 == Anpassung der Formulare an {{formcycle/}} ==
181
182 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.
183
184 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.