Page tree
Skip to end of metadata
Go to start of metadata

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.

Um trotzdem  eigene Schriftarten hinzuzufügen müssen:

  • die entsprechenden Fonts in Jasperreport-Designer 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.

Beispieldateien

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

Font im Jasperreport-Designer (iReport) hinzufügen

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

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.

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.

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 unter org/nuclos/fonts/ bzw. dem neuen Unterverzeichnis ablegen
  3. die fonts.xml ergänzen

Dazu siehe beispielhaft den Eintrag für FreeSans:

<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


  • No labels

3 Comments

  1. Diese Seite könnte ein Update vertragen. Das definieren eines font mappings ist insbesondere auch für die Verwendung von html-Tags (fett, kursiv) innerhalb eines Textfeldes notwendig. Super wäre auch eine fertige Extension .jar mit gängigen freien Schriftarten hier hochzuladen.

    1. Dem kann ich mich nur anschließen..

      1. Das sehe ich auch so.