GEDOPLAN
Spring

Spring Boot + Jasper Font Extensions

Spring
pages g14a0ddbef 640
pages g14a0ddbef 640

Jasper Reports bietet in der Java-Welt eine tolle Möglichkeit, um Reports für die unterschiedlichsten Einsatzzwecke zu generieren. Gerade im Zusammenspiel mit Spring Boot sollten wir Schriftarten, die wir verwenden, in unserer Anwendung inkludieren, um sicherzustellen, dass diese zur Laufzeit auch zur Verfügung stehen. Für Jasper Reports wird dies über sogenannte Font Extensions gelöst, die über den Report-Designer erstellt werden können, ( s. https://community.jaspersoft.com/wiki/custom-font-font-extension )

Im entsprechenden „fonts“ Menü im Designer lassen sich diese Extensions auch exportieren. Anstatt diese nun manuell im eigenen Nexus zu integrieren, lassen diese sich auch ganz einfach direkt in unserer Spring Boot Anwendung einfügen. Neben der obligatorischen Maven Abhängigkeit auf JasperReports fügen wir die offizielle Font-Extensions-Erweiterung hinzu:

        <dependency>
            <groupId>net.sf.jasperreports</groupId>
            <artifactId>jasperreports</artifactId>
            <version>${jasper-reports-version}</version>
        </dependency>
 
        <dependency>
            <groupId>net.sf.jasperreports</groupId>
            <artifactId>jasperreports-fonts</artifactId>
            <version>${jasper-reports-version}</version>
        </dependency>

In unserem src/main/resource Ordner legen wir nun eine entsprechende Properties-Datei ab, die unsere Fonts referenziert (alle diese Dateien können aus der exportieren jar-Dateien entnommen werden. Im Fall von mehreren Schriftarten lediglich die „families“ wie hier zu sehen erweitern)

jasperreports_extension.properties

net.sf.jasperreports.extension.registry.factory.fonts=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory
net.sf.jasperreports.extension.simple.font.families.ireportfamily1658305078908=fonts/fontsfamily1658305078908.xml
net.sf.jasperreports.extension.simple.font.families.ireportfamily1658305086836=fonts/fontsfamily1658305086836.xml

Die hier referenzierten xml Dateien und Font-Ordner sind 1:1 kopieren aus den exportieren jars, sodass wir am Ende folgende Dateistruktur in unserem Projekt vorliegen haben:

src/main/resources/
- fonts
  -- Roboto (TTF-Files)
  -- SuperFont(TTF-Files)
  -- fontsfamily1658305078908.xml
  -- fontsfamily1658305086836.xml
  
jasperreports_extension.properties

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren.

Autor

Diesen Artikel teilen

LinkedIn
Xing

Gibt es noch Fragen?

Fragen beantworten wir sehr gerne! Schreibe uns einfach per Kontaktformular.

Kurse

weitere Blogbeiträge

case 792678 1920
Java, KI, Spring

Textklassifikation mit LangChain4j?

Textinhalte in spezifische Klassen oder Kategorien einzuordnen ist ein Problem für das es bereits einige funktionierende Ansätze im Machine Learning…
IT-Training - GEDOPLAN
Application Server

Wildfly mit http/2

Unter der „vielsagenden“ Spezifikation rfc7540 wurde mitte letzten Jahres die Version 2 des http-Protokolls verabschiedet. Basierend auf Googles eigener Entwicklung…
IT-Training - GEDOPLAN
Jakarta EE (Java EE)

JPA mit dynamischer DB-Verbindung

In Java-EE-Anwendungen, die JPA zum DB-Zugriff nutzen, wird im Normalfall eine Datasource zur Spezifikation der Datenbankverbindung genutzt: &lt;persistence ...&gt; &lt;persistence-unit…

Work Life Balance. Jobs bei Gedoplan

We are looking for you!

Lust bei GEDOPLAN mitzuarbeiten? Wir suchen immer Verstärkung – egal ob Entwickler, Dozent, Trainerberater oder für unser IT-Marketing! Schau doch einfach mal auf unsere Jobseiten! Wir freuen uns auf Dich!

Work Life Balance. Jobs bei Gedoplan

We are looking for you!

Lust bei GEDOPLAN mitzuarbeiten? Wir suchen immer Verstärkung – egal ob Entwickler, Dozent, Trainerberater oder für unser IT-Marketing! Schau doch einfach mal auf unsere Jobseiten! Wir freuen uns auf Dich!