Was ist Jaspersoft-Studio (Nachfolger von iReport)

Jaspersoft-Studio ist der Nachfolger von iReport und im Grunde ein graphischer Editor zum Erstellen bzw. Bearbeiten von Templates für JasperReport (sogenannten "jrxml-Dateien"). 

Die nachfolgende Dokumentation wurde initial für iReport geschrieben, ist jedoch weitestgehend auch für das Jaspersoft-Studio anzuwenden. 
Beachten Sie deshalb die korrekte Version zu ihrer oxaion-Installation.

Jaspersoft-Studio/iReport kann damit auch für die Bearbeitung des Layouts von oxaion Print Belegen genutzt werden.
Die Templates werden in Jaspersoft-Studio/iReport ähnlich wie in einen Zeichenprogramm bearbeitet und abgespeichert. Durch die Kompilierung wird eine binäre Version als .jasper-Datei erstellt. Diese verarbeitet oxaion Print.

iReport installieren und konfigurieren

Wie bereits erwähnt, ist jedes Programm zur Verwaltung von Templates für JasperReport für die Änderung des Beleglayout geeignet. Da wir die notwendigen Arbeiten anhand von iReport erläutern werden, geben wir in diesem Kapitel Hinweise zur Installation dieses Programms.
Zu Ihrer Bequemlichkeit haben wir iReport als ZIP-Datei auf die oxaion-CD gelegt. Wir weisen ausdrücklich darauf hin, dass wir Ihnen damit keinerlei Nutzungsrechte an dem Programm übertragen. Die Nutzungsrechte erhalten Sie unentgeltlich direkt vom Hersteller dieses Produktes. Bitte vergleichen Sie dazu auch unsere AGB, insbesondere Kapitel 1.5.
Insbesondere übernehmen wir auch keinerlei Haftung für eventuelle Fehler des Programms oder Schäden, die aus der Nutzung von iReport resultieren.

Versionshinweise

Ab oxaion 5.1 bis open Version 2021.5409.1 (September 2024) wird die Version TIBCO JasperSoft Studio 6.5.1 verwendet.

Ab oxaion open 2021.5409 (September 2024) wird TIBCO JasperSoft Studio 6.13.0 verwendet.

→ H:\Tools\JasperStudio\TIB_js-studiocomm_6.13.0_windows_x86_64.exe bzw. jasperstudio-6.13.0.zip

nur ganz alte oxaion Installationen (4.x/5.0) benötigen noch den iReport


Installation iReport

In diesem Kapitel wird die Installation unter einem Windows-Betriebssystem beschrieben. Informationen für eine Installation unter Linux oder Mac finden Sie auf der oben genannten Homepage.
Auf der *oxaion* -CD befindet sich die Datei [iReport-...-windows-installer.exe]. 

Starten Sie das Installationsprogramm via Doppelklick

Folgen Sie der iReport-Installationsroutine

Nach der Installation sollten Sie eine Verknüpfung in Ihrem Startmenü (Programme → Jaspersoft → iReport) auf Ihrem Desktop vorfinden.

Einstellungen in iReport

Damit in iReport Barcodes korrekt dargestellt werden muss folgende Einstellung vorgenommen werden:

In iReport die Optionen öffnen (Extras → Optionen)

Auf den Reiter "JasperReports Properties" gehen

Nach der Option mit dem Namen "net.jasperreport.components.barcode4j.image.producer" suchen und den Wert "image" eintragen


Mit iReport arbeiten

Dieser Abschnitt bezieht sich auf die Version 4.1.2 von iReport. Folgeversionen können optisch anders aussehen und weitere Funktionen bieten.

 oxaion Print nutzt JasperReports Version 4.1.2. Sobald Sie eine andere iReport-Version als 4.1.2 nutzen, müssen Sie dafür sorgen, dass die von Ihnen genutzte iReport-Version mit JasperReports 4.1.2 arbeitet!


Beachten Sie, dass sich die aktiven Templates für oxaionPrint nicht in dem Verzeichnis von iReport sondern im Verzeichnis des oxaionPrint-Servers befinden.


 In diesem Handbuch beschreiben wir nur die für oxaionPrint relevanten Funktionen. Wollen Sie sich tiefer in iReport einarbeiten, empfehlen wir Ihnen die Original-Handbücher von iReport bzw. die Online-Hilfe.

Nach einer erfolgreichen Installation können Sie nun iReport starten und vorhandene Templates laden und ändern.

Wir empfehlen Ihnen den kompletten "template"-Ordner mit allen vorhandenen Templates zu sichern bevor Sie mit dem Ändern der Templates beginnen!


Die iReport-Oberfläche

Die iReport-Oberfläche besteht grob aus 5 Elementen.


NameKurzbeschreibung
1Report InspectorHier sind Textmarken sowie Gruppen definiert.
2ArbeitsbereichAnzeige und Bearbeitung der geladenen Subreports.
3Formatting Tools WindowsDie Werkzeugpalette zur Formatierung.
4Eigenschaften

Auflistung aller Eigenschaften des aktuell markierten Feldes.

Die Eigenschaften variieren je nach Feldtyp, so hat bspw. ein Feld vom Typ Bild andere Eigenschaften als ein Feld vom Typ Text.

5

Report Problems Window

iReport Output

Ausgabe von Fehlern und Nachrichten.



Ein vorhandenes Template bearbeiten


Zum Bearbeiten der Templates laden Sie ein Template in iReport. Der Name des Subreports wird in einem Tab über dem Arbeitsbereich und im Arbeitsbereich der Inhalt des Templates angezeigt.

Um Übung für die Arbeit mit iReport zu bekommen sollten Sie sich ein paar aufwändige Templates in einem anderen Verzeichnis ablegen. In diesem Templates können Sie Felder verschieben, kopieren oder positionieren, Bezeichnungen ändern und anschließend kompilieren.


Formatierte Texte aus oxaion nutzen

In oxaion gibt es die Möglichkeit die Texte in der Textverwaltung mit Formatierungen zu versehen. 

So können Texte u.U. verschiedene Textauszeichnungen enthalten: Es können verschiedene Farben benutzt werden, Textteile können fett, kursiv und unterstrichen oder in Äquidistanzschrift gedruckt werden.

Diese Texte können in oxaion Print auch formatiert gedruckt werden. 

Textfelder für formatierte Texte vorbereiten

Disclaimer

Obwohl der Text-Editor in oxaion eine intuitive Formatierung erlaubt, ist er kein WYSIWYG-Editor. In Abhängigkeit der verwendeten Schriftarten und deren Größe im Client und beim Druck kann es zu optischen Differenzen insbesondere bei Verwendung von Tabulatoren kommen. Es ist daher empfehlenswert, Texte mit Tabulatoren nach der Erfassung im Belegdruck auf die Ausrichtung hin zu überprüfen.

Die Textfelder eines oxaion Print-Templates können so konfiguriert werden, dass Sie den Druck von formatiertem Text erlauben.

Wählen Sie hierfür einfach unter Eigenschaften des gewünschten Feldes den Parameter "Markup" und wählen das Attribut "Styled" aus.

Bei den Vorlagen, die mit oxaion Print ausgeliefert werden, ist diese Option bei allen Feldern, die formatierte Texte unterstützen, bereits aktiviert.

Schriftarten bei formatierten Texten

In Textfeldern mit formatierten Texten werden verschiedene Schriftarten eingesetzt. Die Basisschriftart und –größe wird im Textfeld selbst wie gewohnt definiert.
Für die erweiterten Formatierungen müssen jedoch weitere Definitionen vorgenommen werden, z.B. muss die Schriftart für Fettdruck oder Äquidistanzdruck definiert werden. 

Hinweis bei Tabulatoren

Damit die Spaltenaufteilung  der Texte bei der Verwendung der Tabulatoren im Ausdruck möglichst identisch ist mit der Formatierung während der Texteingabe ist, muss sichergestellt werden, dass die im Ausdruck verwendete Schriftart und -größe auch für die Texteingabe im Client eingestellt wurde. Standardmäßig werden die Print-Templates mit der Schriftart "Arial“ der Größe "9“ ausgeliefert.

Andernfalls können im Ausdruck unerwünschte "Verschiebungen" entstehen.

Beispiel korrekte Eingabe


Unerwünschte Verschiebung im Ausdruck


Feld ändern

Anhand des Templates vk20201.jrxml zeigen wir Ihnen, wie Sie selbst Anpassungen vornehmen können und welche Funktionen hinter den Feldern stecken.

Markieren Sie das zu bearbeitende Textfeld mit einem Klick. Anschließend werden unter Eigenschaften alle Attribute dieses Textfeldes angezeigt, u.a. auch "Text Field Expression". Hier werden die gewünschten Textmarken für dieses Textfeld hinterlegt. Der Button auf der linken Seite des Feldes öffnet ein etwas größeres Eingabefenster, welches die Eingabe erleichtern soll.

In diesem Fall sollen die Felder KOAKDNR (Kundennummer) und KOAFINR (Filialnummer) sowie KOACPDN (CPDN-Nummer) angedruckt werden:
$F{KOAKDNR}" "$F{KOAFINR}" "$F{KOACPDN}

Schrifttyp festlegen

In oxaion Print können Sie alle Schriften, die im Schriftenverzeichnis des Print-Servers bzw. innerhalb der von Ihnen definierten Ablage liegen verwenden.

 Beachten Sie, dass sich eine Änderung des Schrifttyps, der Schriftgröße oder Schriftschnitt, der Ausrichtung und der Effekte auf das gesamte Feld bezieht. Werden in dem Feld mehrere Textmarken verwendet, nehmen alle die Änderungen an. Die Änderungen sind sofort, ohne weitere Bestätigung wirksam und werden im geöffneten Template angezeigt.

Eigenschaften für ein TextfeldBeschreibung der Parameter

ParameterBeschreibung
Font NameSchriftart, die für dieses Textfeld in oxaion Print verwendet werden soll.

Size

Schriftgröße, die für dieses Textfeld in oxaion Print verwendet werden soll.

Bold, Italic, Unterline, Strike Trough

Schriftschnitt, der verwendet werden soll

PDF Font name

Diese Angabe ist nur erforderlich, falls Sie keine Standard-Print-Schrift verwenden (Arial, Courier New, OCRA, OCRB, Lucida Sans Typewriter).

Schrift, die bei der Umsetzung in ein PDF-Dokument verwendet werden soll. Hier muss immer der Dateiname der Schriftart angegeben werden.

PDF Embedded

Diese Angabe ist nur erforderlich, falls Sie keine Standard-Print-Schrift verwenden (Arial, Courier New, OCRA, OCRB, Lucida Sans Typewriter).

Gibt an, ob die Schrift in das PDF Dokument eingebettet wird. Diese Option sollte generell aktiviert sein!

PDF Encoding

Diese Angabe ist nur erforderlich, falls Sie keine Standard-Print-Schrift verwenden (Arial, Courier New, OCRA, OCRB, Lucida Sans Typewriter).

Zeichensatz des PDF Dokuments. Dies sollte immer "Identity-H (Unicode with horizontal writing)" sein, damit alle Sonderzeichen korrekt dargestellt werden.

Horizontal / Vertical Ausrichtung

Ausrichtung der Textmarke innerhalb des Textfeldes

Rotation

Drehung der Textmarke

Line Spacing

Zeilenabstand

Markup

Schriftformatierungszeichen (html,, rtf, styled)

Report font

Wird nicht mehr unterstützt


Wenn Sie keine Standard-Print-Schrift verwenden, muss neben der Schriftart auch die PDF Schriftart im Print-Template gepflegt werden. Werden diese beiden Angaben unterschiedlich hinterlegt, wird keine 100% Übereinstimmung des Ausdrucks mit dem PDF Dokument garantiert, da hier u.U. für das PDF Dokument andere Schriften oder andere Formatierungen verwendet werden.

Hintergrund zu den Standard-Print-Schriften / "Font Extensions":

iReport bietet die Möglichkeit der sog. "Font Extensions". Diese "Font Extensions". enthalten Schriftarten und deren entsprechende Konfiguration zur Verwendung in PDF-Dokumenten. Zu den Standard-Print-Schriften gehören Arial, Courier New, OCRA, OCRB, Lucida Sans Typewriter.
Die Standard-Print-Schriftarten finden sich in der Datei oxaion-reports-fonts.jar. Sollten im Kundenprojekt abweichende Schriftarten notwendig sein, kann es sinnvoll sein, für die Kunden-Schriften eine eigene kunden-fonts.jar zu erstellen. Über eine Modifikation der bestehenden oxaion-reports-fonts.jar kann man zentral dafür sorgen, dass alle Print-Belege mit einer abweichenden Schrift arbeiten. Allerdings gilt zu berücksichtigen, dass Modifikationen der oxaion-reports-fonts.jar nicht automatisch in ein neues Release / GMT übernommen werden, sondern manuell nachgezogen werden muss.
Bitte beachten Sie zu den Standard-Print-Schriftarten auch die Lizenz-Hinweise in Kapitel 0 dieses Handbuches.
Hintergrund zu den "Styles"
iReport bietet die Möglichkeit sich so genannte "ReportFonts" oder die etwas neuere Variante "Styles" zu hinterlegen. Dies entspricht einer Formatvorlage wie Sie es eventuell schon von diversen Office-Paketen kennen. Da frühere Versionen von iReport an dieser Stelle sehr fehleranfällig waren, werden alle Belege ohne ReportFont- und ohne Style-Hinterlegung ausgeliefert. Selbstverständlich steht es Ihnen frei diese Möglichkeit zu nutzen – wir raten aber ausdrücklich hiervon ab!

Wir empfehlen folgende Einstellungen:

ParameterBeschreibung

Font name

Wählen Sie Ihre gewünschte Schriftart aus. iReport gibt hier Helvetica vor. Die von uns ausgelieferten Belege benutzen alle die Schriftart Arial.

Size

Die von uns ausgelieferten Belege benutzen alle die Schriftgröße 9.

Bold, Italic, Unterline, Strike Trough

beliebig

PDF Font name

Diese Angabe ist nur erforderlich, falls Sie keine Standard-Print-Schrift verwenden

Hier muss immer der Dateiname der Schriftart angegeben werden, z.B. arial.ttf oder arialbd.ttf wenn noch zusätzlich fett gewählt wurde.

PDF Embedded

Diese Angabe ist nur erforderlich, falls Sie keine Standard-Print-Schrift verwenden

Sollte immer aktiviert sein

PDF Encoding

Diese Angabe ist nur erforderlich, falls Sie keine Standard-Print-Schrift verwenden

dies sollte immer "Identity-H (Unicode with horizontal writing)" sein, damit

Horizontal / Vertical Ausrichtung

beliebig

Rotation

Drehung der Textmarke

Line Spacing

Einfacher Zeilenabstand  Single

Markup

beliebig

Report font

Wird nicht mehr unterstützt


Die Steuerfunktionen innerhalb der Felder

Unter den Eigenschaften eines Feldes finden Sie auch jede Menge Parameter zur individuellen Einstellung des Erscheinungsbildes des Feldes.

Hinterlegung von Prüfungen (Expressions)

Ein Textfeld soll in Abhängigkeit einer Textmarke angezeigt oder gelöscht werden. Das Feld TX_FAX nur angezeigt werden, wenn die Textmarke KETFAX mit einem Wert gefüllt wurde.
Dazu kann die Funktion \[Print when Expression\] verwendet werden.

Tragen Sie im unteren Feld die folgende Textzeile ein:

new Boolean (((TreeDataSource)$P{REPORT_DATA_SOURCE}.isNotEmptyText)

new Boolean (((TreeDataSource)$P{REPORT_DATA_SOURCE}.isNotEmptyText)

Auflistung nützlicher Expressions

Inhalte der Beispielfelder:$F{Field1}"Feld(1)"
$F{Field2}"Feld(2)"

Art der ExpressionExpressionBeschreibung / Ergebnis

​Print When Expression

new Boolean(($V{PAGE_NUMBER}.intValue() > 1)Wert wird nicht auf der ersten Seite angedruckt.

new Boolean(!$F{Field1}.trim().equals(""))Feld wird ausgegeben, wenn der Inhalt von Field1 nicht leer ist.

Text Expression

$F{Field1} + " / " + $F{Field2}Feld(1) / Feld(2)

new String($F{Field1}.length()>3 ? $F{Field1} : $F{Field1}.substring(0, 2)) + "/" + new String($F{Field1}.length()>3 ? $F{Field1} : $F{Field1}.substring(3))Fe/d(1)

new String($F{Field1}.equals("Feld(1)")?$F{Field1}:$F{Field2})

Syntax: Bedingung ? Wahr : Falsch

Falls Feld1 den Wert "Feld(1)" hat, wird dieses auch ausgegeben, ansonsten wird der Wert des Field2 ausgegeben.

Mit Barcode arbeiten

iReport unterscheidet zwischen Bild und Barcode (Image-Tool und Barcode-Tool). Das Barcode-Tool wird von oxaion Print nicht benutzt, stattdessen wird auch das Image-Tool für Barcodes genutzt. oxaion Print unterstützt im Standard den Barcode 3of9 sowie den Barcode 3of9 extended. Der Textmarkenname für den Barcode lautet im folgenden Beispiel KOPFBARCODE.

Erstellen Sie mit Hilfe des “Image Tools“ einen Platzhalter für ein Bild.

Auf der Lasche “Allgemein“ tragen Sie mindestens das folgende Java-Statement ein:


new Boolean($F{Textmarkenname} !=null && !$F{Textmarkenname}.equals("")


In dem folgenden Screenshot lautet der Textmarkenname KOAAUNR. Zusätzlich wird noch der Parameter PARAM_BARCODE geprüft. Hiermit kann aus oxaion zentral gesteuert werden, ob ein Barcode gewünscht ist oder nicht.


Auf der Lasche "Bild" tragen Sie ein weiteres Java-Statement ein:


new Barcode3of9(''$F{Textmarkenname}'')
Die *-Symbole dienen der Methode als Start- sowie Endezeichen und umschließen damit den zu transformierenden Inhalt.


Festlegen der Größe des Barcodes

Die Größe des Barcodes unterliegt dem folgenden Sachverhalt:

Ist eine bestimmte Höhe des Barcodes gewünscht, so muss die Länge des Feldes Lfeld grösser sein wie die maximale Länge des Barcodes Lbarc. Soll hingegen der Barcode eine gewünschte Länge haben, so muss Hfeld grösser wie die maximale Höhe Hbar.

Der Barcode ist immer durch die Dimensionen des Feldes begrenzt.

In der Praxis bedeutet das für die Barcodehöhe, dass die maximale Barcodelänge ermittelt wird und daraus ermittelt sich die maximale Feldlänge (Lfeld = Max(Lbarc) * Faktor: 1,5).

Bedingung für die gewünschte Dimension:
HBarc LFeld > Max(LBarc)
LBarc HFeld > Max(HBarc)

Template mit einer Grafik versehen

Um dem Beleg eine Grafik hinzufügen zu können, müssen Sie die hier aufgelistete Arbeitsschritte berücksichtigen.
Im folgenden Beispiel lautet der Textmarkenname KBIMAGE.

  • Erstellen Sie mit Hilfe des "Image Tools" einen Platzhalter für ein Bild.
  • Zur Sicherheit (wird auf ein nicht vorhandenes Bild ohne Prüfung verzweigt, bricht der Druck ab) tragen Sie unter Print When Expression folgendes Java-Statement ein:

new Boolean($F{Textmarkenname} != null && new java.io.File ($F{Textmarkenname}).exists())


Hierbei muss die Textmarke den Pfad zum Bild vollständig enthalten.


Unter dem Parameter "Image Expression“ tragen Sie ein weiteres Java-Statement ein:


new java.io.File({Feldname})


Textmarkendefinitionen ändern oder umdefinieren

Die in den Textfeldern definierten Textmarken müssen in der als Feld (bzw. als Parameter) definiert sein.

Beachten Sie, dass dies nicht automatisch mit der Neuanlage eines Feldes oder Feldnamens im Template passiert. Nachdem Sie das Feld in der Formel definiert haben, müssen Sie es auch in der Objektbibliothek anlegen.


Klicken Sie mit der rechten Maustaste auf "Parameters" oder "Fields", je nachdem ob Sie einen neuen Parameter oder ein neues Feld definieren möchten. In dem sich öffnenden Kontextmenü wählen Sie anschließend "Hinzufügen von Parameter" bzw. "Hinzufügen von Field"



Unter "Eigenschaften" werden nun die entsprechenden Eigenschaften zur Anlage einer neuen Textmarke angezeigt. Geben Sie hier den Namen der Textmarke ein, lassen bei den restlichen Felder den Default-Wert und bestätigen den Vorgang mit <ENTER>.

Schreiben Sie den Namen hier genau so, wie im Textfeld. iReport überprüft an dieser Stelle nicht die Gleichheit der Namen. Ein falscher Name fällt erst bei der Kompilierung auf. Hierbei wird auch zwischen Groß- und Kleinschreibung unterschieden.

Übertrag und Vortrag

Voraussetzung:
Das entsprechende Java-Druckprogramm muss den Übertrag (meistens die Variable CARRY) füllen bzw. addieren und mit dem XML-Strom an den Print-Server übergeben.

Arbeiten am Template:

1. Jedes Format, welches einen Übertrag besitzt, muss im Template ein Feld $F{CARRY} + "AS CARRY" enthalten. Dieses sollte in der Nähe des Feldes angebracht werden, welches den Wert des Übertrags ändert. Dieses Feld enthält den aktuellen Übertrag. Keine Angst – der Übertrag wird nicht angedruckt. Bevor der Beleg an den Drucker gesendet wird löscht der Print-Server diese Felder aus dem erstellten Beleg.

Damit man dieses Feld immer schnell im Template findet haben wir sie rot gefärbt. Wir empfehlen dies so beizubehalten. Das Feld muss so groß definiert werden, dass man in iReport den Inhalt lesen kann. Z.B.:


2. Im D-Format müssen folgende Felder existieren: "%F_CARRY%"  dieses Feld muss im Band "pageHeader" angelegt werden. Es enthält den Vortrag. Hat man eine Überschriftszeile (siehe Beispiel), so muss es unter der Überschrift liegen. "%CARRY%"  dieses Feld muss im Band "page Footer" liegen. Es enthält den Übertrag. Die Felder müssen so groß definiert werden, dass man in iReport den Inhalt lesen kann. Z.B.:


Was passiert beim Druck des Übertrags?

An den definierten Stellen im Beleg werden die Überträge angedruckt (siehe rote Texte in dem folgenden Screenshot). Am Seitenende greift sich die im D-Format definierten Variable einfach den letzten angedruckten Wert und duckt diesen (siehe blaue Linie). Anschließend werden alle roten Texte gelöscht und dass Dokument an den Drucker gesendet.

Templates Kompilieren und testen

Damit oxaion Print die Templates nutzen kann, müssen diese kompiliert werden. Die Kompilierung führt oxaion Print selbst durch.

Nachdem Sie die geänderten oder neuen Templates in das entsprechende Verzeichnis oxaion Print -Servers kopiert haben, kompiliert oxaion Print die Templates beim nächsten Druckauftrag selber und erstellt beispielsweise für das Template vk20201.jrxml die Printvorlage vk20201.jasper bzw. erneuert die Printvorlage.

Hierbei existieren 2 Möglichkeiten, welche über die Option "Auto-Compile" in der Datei "server.xml" eingestellt werden können:

ParameterBedeutung

auto-compile = true

Mit dieser Einstellung wird bei jedem Druck die Aktualität der Jasper-Datei geprüft. Ist die Jasper-Datei älter als die entsprechende JRXML-Datei oder ist zur einer JRXML-Datei keine Jasper-Datei vorhanden, so wird eine neue Jasper-Datei erstellt.

auto-compile = false

Diese Einstellung prüft immer nur die Root-Datei, in diesem Fall das vk20201.jrxml. Ist die zugehörige Jasper-Datei vorhanden wird nicht neu kompiliert. Fehlt diese Datei werden alle Templates des Beleges neu kompiliert.

Wir empfehlen mit der Einstellung auto-compile = true zu arbeiten, da hierbei das kompilieren auf ein Minimum beschränkt wird und dies einen Zeit- und Performancegewinn darstellt. 

Zum Testen Ihrer geänderten Belege sollten Sie immer eine separate oxaion Print –Testumgebung haben und niemals Ihre Änderungen sofort – ohne Test – im Produktionssystem einspielen!








  • Keine Stichwörter