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

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!