Zeige letzte Bearbeiter
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 kostenpflichtige 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 {{info}}Es existieren mehrere Versionen des Print-PDF-Plugins für verschiedne Betriebssysteme (//32-Bit Linux//, //64-Bit Linux//, //Windows//, //MacOSX//). Es muss nur die Version des Plugin installiert werden, welche dem Betriebssystem entspricht, auf dem {{formcycle /}} installiert ist. Die Betriebssystemart wird auf der Seite [[Serverinformation>>Formcycle.SystemSettings.UserInterface.ServerInformation]] angezeigt.{{/info}}
24
25 == Optionen ==
26
27 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:
28
29 ; **Dateiname**
30 : Dateiname, unter dem das erzeugte PDF-Dokument gespeichert wird.
31 ; **Druckmodus Formular mit textueller Ausgabe von Werten**
32 : Eingabefelder werden in Text umgewandelt und das Formular wird in der Breite entsprechend angepasst, siehe nächster Abschnitt.
33 ; **Druckmodus Formular mit Eingabefeldern**
34 : Das Formular wird so in dem PDF ausgegeben wie es auch im Browser aussieht.
35 ; **Zoomfaktor**
36 : 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.
37 ; **Benutzergruppen**
38 : 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.
39 ; **URL-Parameter**
40 : 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.
41
42 == Textfelder und Auswahllisten ==
43
44 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:
45
46 {{code language="css"}}
47 .print.XSpan {
48 font-size: 18pt;
49 font-family: serif;
50 }
51 {{/code}}
52
53 Um einige Eigenschaften des Standard-CSS zu überschreiben, welches mit {{formcycle/}} ausgeliefert wird, können spezifischerer Selektoren verwendet werden, wie beispielsweise
54
55 {{code language="css"}}
56 xm-form .xm-content div.print.XSpan {
57 font-size: 18pt;
58 font-family: serif;
59 }
60 {{/code}}
61
62 Bei den meisten Eigenschaften ist dies jedoch nicht nötig.
63
64 == Verwendung von anderen Schriftarten ==
65
66 === Technische Voraussetzungen ===
67
68 Damit Schriftarten in den erstellten PDF-Dokumenten verwendet und eingebettet werden, ist es im allgemeinen nötig, dass diese auf dem Server auf dem {{formcycle /}} bzw. das //Print-Service-Plugin// läuft installiert sind.
69 {{velocity}}
70 ##Hierbei ist zu beachten, dass die //Java-Laufzeitumgebung// nur beim Start nach den im System registrierten Schriftarten sucht. Da durch einen Neustart des Betriebssystems des Servers sowohl das Betriebssystem als auch die //Java-Laufzeitumgebung// nach neu installierten Schriftarten suchen, ist dies in den meisten Fällen der einfachste Weg, neu installierte Schriftarten für die Verwendung im //Print-Service-Plugin// bereitzustellen.
71 ##{{version major="6" minor="6" patch="0"/}}Ab {{formcycle /}} Version 6.6.0 werden die Namen der auf dem Server installierten TTF-Schriftarten in der Übersicht über die verfügbaren Schriftarten auf der Seite [[Serverinformation>>Formcycle.SystemSettings.UserInterface.ServerInformation]] passend angezeigt.
72 {{/velocity}}
73 === Einbinden im CSS ===
74
75 Zum Einbinden einer auf dem Server installierten Schriftart für den Druck, muss diese mit einem {{code language="none"}}@media print{{/code}}-Query explizit definiert und für die Verwendung durch die entsprechenden Formularelemente gesetzt werden. Im einfachsten Fall kann dies wie im folgenden Beispiel aussehen:
76
77 {{code language="css"}}
78 @media print {
79 @font-face {
80 font-family: 'DejaVu Sans';
81 src: local('DejaVu Sans');
82 }
83 .xm-form.modern *, .modern .XPage * {
84 font-family: "DejaVu Sans";
85 }
86 }
87 {{/code}}
88
89 Hierbei ist es insbesondere wichtig, dass die bei {{code language="none"}}local(){{/code}} eingetragene Bezeichung dem Namen der Schriftart entspricht.
90
91 === Rechtliche Hinweise ===
92
93 Schriftarten haben zum Teil sehr eng umgrenzte Lizenzbedingungen und werden je nach Einsatzzweck unterschiedlich bepreist. Es ist zu beachten, dass Schriftarten für das Erstellen von PDFs in diese eingebettet werden müssen, was bei vielen kommerziellen Schriftarten eine andere Lizenz als für das Ausliefern über einen Webserver für den Zweck der Darstellung einer Webseite in einem Webbrowser verlangt.
94
95 In Schriftarten vom Typ //TrueType// und //OpenType// können Informationen über die Einbettbarkeit der Schriftart direkt mitgespeichert werden. Je nachdem, was dort konfiguriert ist, kann eine Schriftart gegebenenfalls nicht eingebettet werden und wird vom //Print-Service-Plugin// stattdessen nur als Vektorgrafik in die erstellten PDF-Dokumente gerendert.
Copyright 2000-2025