Print-Service Plugin


Plugin-Download (erfordert Anmeldung)

Bitte verwenden Sie für Xima® Formcycle Version 6 das Plugin ab Version 2.0.0.

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. 

Technische Besonderheiten

Technisch erfolgt die Umsetzung mittels Selenium und dem Treiber phantomJS. Das PDF-Dokument wird im Format A4 erzeugt.

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 EcmaScript6 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.

Installation

Das Plugin kann als Mandant-Plugin oder System-Plugin installiert werden. Eine Anleitung zur Installation von Plugins finden Sie hier

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 Xima® Formcycle installiert ist. Die Betriebssystemart wird auf der Seite Serverinformation angezeigt.

Optionen

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:

Dateiname
Dateiname, unter dem das erzeugte PDF-Dokument gespeichert wird.
Druckmodus Formular mit textueller Ausgabe von Werten
Eingabefelder werden in Text umgewandelt und das Formular wird in der Breite entsprechend angepasst, siehe nächster Abschnitt.
Druckmodus Formular mit Eingabefeldern
Das Formular wird so in dem PDF ausgegeben wie es auch im Browser aussieht.
Zoomfaktor
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.
Benutzergruppen
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.
URL-Parameter
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. Auf diese URL-Parameter kann auch von selbstgeschriebenem JavaScript im Scriptbereich zugegriffen werden.

Textfelder und Auswahllisten

Zur Optimierung des PDF-Dokuments für den Druck werden Formularelemente vom Typ Eingabefeld, Textarea und Auswahl (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:

.print.XSpan {
 font-size: 18pt;
 font-family: serif;
}

Um einige Eigenschaften des Standard-CSS zu überschreiben, welches mit Xima® Formcycle ausgeliefert wird, können spezifischerer Selektoren verwendet werden, wie beispielsweise

xm-form .xm-content div.print.XSpan {
 font-size: 18pt;
 font-family: serif;
}

Bei den meisten Eigenschaften ist dies jedoch nicht nötig.

Verwendung von anderen Schriftarten

Technische Voraussetzungen

Damit Schriftarten in den erstellten PDF-Dokumenten verwendet und eingebettet werden, ist es im allgemeinen nötig, dass diese auf dem Server auf dem Xima® Formcycle bzw. das Print-Service-Plugin läuft installiert sind.
Das Makro [velocity] konnte nicht ausgeführt werden. Grund: [The execution of the [velocity] script macro is not allowed in [xwiki:Formcycle.PluginDocumentation.PrintServicePlugin]. Check the rights of its last author or the parameters if it's rendered from another script.]. Klicke auf diese Nachricht, um Details zu erfahren.

Einbinden im CSS

Zum Einbinden einer auf dem Server installierten Schriftart für den Druck, muss diese mit einem @media print-Query explizit definiert und für die Verwendung durch die entsprechenden Formularelemente gesetzt werden. Im einfachsten Fall kann dies wie im folgenden Beispiel aussehen:

@media print {
    @font-face {
       font-family: 'DejaVu Sans';
       src: local('DejaVu Sans');
    }
    .xm-form.modern *, .modern .XPage * {
       font-family: "DejaVu Sans";
    }
}

Hierbei ist es insbesondere wichtig, dass die bei local() eingetragene Bezeichung dem Namen der Schriftart entspricht.

Rechtliche Hinweise

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. 

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.