Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Nuclos verwendet derzeit die Jasperreport-3.5.3 Library diese Version unterstützt leider noch keine Font-Extension. D.h. die Schriftarten für den Pdf-Druck beschränken sich auf ein paar Standartschriftarten.Trotzdem gibt es einen Weg

Um trotzdem  eigene Schriftarten hinzuzufügen , dazu muss zum einen dem Nuclos-Installationsverzeichnis eine Ordnerstruktur ( "extensions/server") hinzugefügt werden und zum anderen das folgende Archiv jasperreports-fonts-3.6.1.jar entsprechend modifiziert werden.Das modifizierte Archiv könnte direkt in den Ordner "webapp/WEB-INF/lib " abgelegt werden, jedoch wird nach einem Update der Nuclos-Installation das Archiv verschwinden.müssen:

  • die entsprechenden Fonts in Jasperreport-Studio installiert werden
  • eine Nuclos Extension mit den gewünschten Fonts erstellt und zum Nuclet hinzugefügt werden


Das Einbinden von Fonts ist außerdem notwendig um systemübergreifend dasselbe Erscheinungsbild der erzeugten PDF zu gewährleisten.


An dieser Stelle stellen wir Ihnen die nach GPL v3 lizenzierte Schriftart FreeSans mit der passenden Extension zur Verfügung:

Font im Jasperreport-Designer hinzufügen

Image Removed



Eine Schriftart wird im Designer unter Optionen->Font->Button:"Install Font" hinzugefügt.






Image Added


Wichtig ist, dass der angegebene Family Name mit dem in der fonts.xml der verwendeten Extension angegebenen übereinstimmt, in dem Fall "Nuclos Sans Serif". Damit wird sichergestellt das auch wirklich die beim nuclos Server als Extension hinterlegte Schriftart verwendet wird.

Jetzt steht die Schriftart im Designer zur Verfügung.

Image Added



Info

Wenn die Reports über den Designer getestet werden sollen, muss an dieser Stelle ein Export der Schriftart durchgeführt werden. Darauf achten, dass beim Export die Endung "jar" angegeben wird. Das exportierte Font-Jar wird wiederum unter Opionen->Classpath hinzugefügt. Das funktioniert nur wenn der Designer auf einer höheren Jasper-Version basiert als 3.6.0.

Image Removed

 

 

 

 

 

 

 

 

Modifizierung

Als Beispiel werden zum einen Arial aus den MsCoreFonts und asiatische Schriftzeichen "GoJuOn" installiert.

Nach dem Herunterladen jasperreports-fonts-3.6.1.jar werden

  1. die gewünschten TTF-Dateien hinzugefügt und
  2. die font.xml im Ordner "net/fs/jasperreports/fonts" entsprechend angepasst

Die gewünschten TTF-Dateien  hinzugefügen

Image Removed

Im Bild links ist die Struktur des Jar's sichtbar. In den Font-Ordner werden die gewünschten TTF-Dateien abgelegt. Der Übersicht halber bekommt jede Schriftart ihren eigenen Ordner.

 

 

 

 

 

 

 

 

 

 

 

 

 

Die "font.xml" im Ordner "net/fs/jasperreports/fonts" entsprechend angepassen

 

Image Removed

Jede Schriftart wird in bean-Tags eingefasst. Die Originalstruktur wird auf folgende Weise
modifiziert:

  1. Als Id wird der Name der Schriftart klein eingetragen
  2. Für das Property Name wird selbsterklärend das Value gesetzt.
  3. Für die Peroperties der Font-Varianten (bold, italic) werden die Pfade zu den entsprechenden TTF-Dateien gesetzt
  4. Das Property "exportFonts" muss komplett entfernt werden, da es in der Jasperreport-3.5.3 nicht vorkommt.

           

 

 

 

Installation

 

Image Removed

Das modifizierte Jar  wird in dem zuvor angelegten Ordner "extension/server" abgelegt.

  1. Danach muss der Installer ausgeführt werden. Damit werden die Schriftarten mit installiert.
  1. Ohne Installation kann das Jar in den Ordner "webapp/WEB-INF/lib" abgelegt werden. Mit einem Server-Neustart stehen die Schriftarten zur Verfügung, Jedoch wird das Jar nach jedem Update (Ausführen des Installers) entfernt.

 

Ergebnis

Image Removed


Eine eigene Extension erzeugen

Extensions sind Archive mit der Dateiendung .jar, als Vorlage für eine Fontextension kann die hier bereit gestellte nuclos-fonts-1.0.jar verwendet werden.

Um eine Schriftart zur Extension hinzuzufügen sind folgende Schritte notwendig.

  1. (optional) einen neuen Unterordner im Verzeichnis org/nuclos/fonts/ anlegen
  2. die zu verwendenden .ttf files für die gewünschten  Schriftstile einer Fontfamile in unter org/nuclos/fonts/ bzw. dem neuen Unterverzeichnis ablegen
  3. die fonts.xml ergänzen

Dazu sehe beispielhaft den Eintrag für FreeSans:

Codeblock
<bean id="nuclosSansSerif" class="net.sf.jasperreports.engine.fonts.SimpleFontFamily">
		<property name="name" value="Nuclos Sans Serif"/>
		<property name="normal" value="org/nuclos/fonts/basic/FreeSans.ttf"/>
		<property name="bold" value="org/nuclos/fonts/basic/FreeSansBold.ttf"/>
		<property name="italic" value="org/nuclos/fonts/basic/FreeSansOblique.ttf"/>
		<property name="boldItalic" value="org/nuclos/fonts/basic/FreeSansBoldOblique.ttf"/>
		<property name="pdfEncoding" value="Identity-H"/>
		<property name="pdfEmbedded" value="true"/>
	</bean>



Extension einbinden

Die Extension wird regulär als Server-Extension zum gewünschten Nuclet hinzugefügt

Image Added