Wiki-Quellcode von Print-Service Plugin
Zeige letzte Bearbeiter
author | version | line-number | content |
---|---|---|---|
1 | [[**Plugin-Download**>>url:https://customer.formcycle.eu/index.php/apps/files/?dir=/FORMCYCLE%20-%20Plugins%20Customer/plugin-bundle-phantomjs&fileid=342||target="_blank"]] (erfordert Anmeldung) | ||
2 | |||
3 | {{info}} | ||
4 | Bitte verwenden Sie für {{formcycle/}} Version 6 das Plugin ab **Version 2.0.0**. | ||
5 | {{/info}} | ||
6 | |||
7 | {{content/}} | ||
8 | |||
9 | Das Plugin //Print-Service// ermöglicht es, in der Statusverarbeitung ein PDF aus dem Formular zu erzeugen, welches besser für den Druck geeignet ist. | ||
10 | |||
11 | == Technische Besonderheiten == | ||
12 | |||
13 | Technisch erfolgt die Umsetzung mittels Selenium und dem Treiber //phantomJS//. Das PDF-Dokument wird im Format A4 erzeugt. | ||
14 | |||
15 | {{warning}} | ||
16 | Beim Drucken mit dem Print-Service wird JavaScript aus dem Formular ausgeführt. Hierbei muss allerdings beachtet werden, dass hierbei keine neuen JavaScript-Funktionen zur Verfügung stehen. Konkret werden keine Funktionalitäten ab {{smallcaps}}Ecma{{/smallcaps}}Script6 und höher unterstützt. Es können also etwa keine neuen Schlüsselwörter wie //let// und //const// oder neue Syntax wie Arrow-Funktionen oder Destrukturierung verwendet werden. | ||
17 | {{/warning}} | ||
18 | |||
19 | == Installation == | ||
20 | |||
21 | Das Plugin kann als Mandant-Plugin oder System-Plugin installiert werden. Eine Anleitung zur Installation von Plugins finden Sie [[hier>>doc:Formcycle.UserInterface.Client.Plugins.WebHome]]. | ||
22 | |||
23 | == Optionen == | ||
24 | |||
25 | Um das Plugin zu nutzen, klicken Sie in der Statusverarbeitung auf neue Aktion und wählen das Print-Plugin aus. Die folgenden Optionen werden zum Konfigurieren der Plugin-Aktion verwendet: | ||
26 | |||
27 | ; **Dateiname** | ||
28 | : Dateiname, unter dem das erzeugte PDF-Dokument gespeichert wird. | ||
29 | ; **Druckmodus Formular mit textueller Ausgabe von Werten** | ||
30 | : Eingabefelder werden in Text umgewandelt und das Formular wird in der Breite entsprechend angepasst, siehe nächster Abschnitt. | ||
31 | ; **Druckmodus Formular mit Eingabefeldern** | ||
32 | : Das Formular wird so in dem PDF ausgegeben wie es auch im Browser aussieht. | ||
33 | ; **Zoomfaktor** | ||
34 | : Faktor, um den das Formular vergrößert wird. Ist dieser kleiner 1, wird das Formular verkleinert. Kann genutzt werden, um besonders große oder kleine Formulare auf das A4-Format des PDF-Dokuments anzupassen. | ||
35 | ; **Benutzergruppen** | ||
36 | : Benutzergruppen, denen der virtuelle Benutzer angehört, der das Formular über Selenium öffnet. Formularelemente können abhängig von der Benutzergruppe ausgeblendet bzw. //readonly// geschaltet werden. | ||
37 | ; **URL-Parameter** | ||
38 | : Zusätzliche URL-Parameter, die an die URL angehängt werden, wenn das Formular über Selenium bei der Generierung des PDF-Dokuments geöffnet wird. Diese können beispielsweise genutzt werden, um [[Formularfelder vorzubefüllen>>Formcycle.FormDesigner.URLParameter]]. Auf diese URL-Parameter kann auch von selbstgeschriebenem JavaScript im Scriptbereich zugegriffen werden. | ||
39 | |||
40 | == Textfelder und Auswahllisten == | ||
41 | |||
42 | Zur Optimierung des PDF-Dokuments für den Druck werden Formularelemente vom Typ [[Eingabefeld>>Formcycle.FormDesigner.FormElements.Input]], [[Textarea>>Formcycle.FormDesigner.FormElements.Textarea]] und [[Auswahl>>Formcycle.FormDesigner.FormElements.Selection]] (Drop-Down) in reine Textfelder umgewandelt, falls als Druckmodus Formular mit textueller Ausgabe von Werten eingestellt ist. Zudem werden diese mit der CSS-Klasse //print// und //XSpan// versehen, welches für Anpassungen des Aussehens verwendet werden kann. Um etwas die Schriftgröße zu ändern, kann folgendes CSS verwendet werden: | ||
43 | |||
44 | {{code language="css"}} | ||
45 | .print.XSpan { | ||
46 | font-size: 18pt; | ||
47 | font-family: serif; | ||
48 | } | ||
49 | {{/code}} | ||
50 | |||
51 | Um einige Eigenschaften des Standard-CSS zu überschreiben, welches mit {{formcycle/}} ausgeliefert wird, können spezifischerer Selektoren verwendet werden, wie beispielsweise | ||
52 | |||
53 | {{code language="css"}} | ||
54 | xm-form .xm-content div.print.XSpan { | ||
55 | font-size: 18pt; | ||
56 | font-family: serif; | ||
57 | } | ||
58 | {{/code}} | ||
59 | |||
60 | Bei den meisten Eigenschaften ist dies jedoch nicht nötig. |