2015-02-02 11 views
7

Ich versuche Tahoma Schriftart zu Jaspis Bericht in meiner Web-App hinzuzufügen. Ich benutze font extension mechanism.Font Extensions funktioniert nicht für JasperReports

Diese Ausnahme wurde ausgelöst: net.sf.jasperreports.engine.util.JRFontNotFoundException: Font 'TahomaFont' ist für die JVM nicht verfügbar. Weitere Informationen finden Sie im Javadoc.

Hier ist meine font.xml Datei:

<fontFamiles> 
    <fontFamily name="TahomaFont"> 
    <normal>export/fonts/BTahoma.ttf</normal> 
    <pdfEncoding>Identity-H</pdfEncoding> 
    <pdfEmbedded>true</pdfEmbedded> 
    </fontFamily> 
<fontFamiles> 

und hier ist meine jasperreports.properties Datei:

net.sf.jasperreports.extension.registry.factory.simple.font.families=net.sf.jasperreports.engine.fonts.SimpleFontExtensionsRegistryFactory 
net.sf.jasperreports.extension.simple.font.families.TahomaFont=export/fonts/fonts.xml 

Auch habe ich Tahoma.ttf setzen Schriftdatei in meinem Klassenpfad. Hier ist der Stil-Tag in Jaspis Bericht:

<style fontName="TahomaFont" name="tahoma"/> 

Bitte lassen Sie mich wissen, wo ich falsch werde. Danke im Voraus.

Antwort

3

die Tahoma.ttf Schriftart in Ihrem Klassenpfad zu setzen ist nicht der Weg zu gehen.

Sie haben Recht, Schriftart-Erweiterungen zu verwenden, es ist eine gute Übung - aber Sie müssen Ihre Schriftarten als Schriftverlängerung in ein Glas verpacken und dieses Glas zu Ihrem Klassenpfad hinzufügen.

  • In Jasper, verwalten Sie Ihre Schriften in Optionen, in der Font Registerkarte, wählen Sie die Schriftart und klicken Export als Erweiterung.
  • Verpacken Sie Ihr Glas und die Dinge sollten gut funktionieren, ohne die physische Schriftart auf der JVM installieren zu müssen.

Weitere Informationen dokumentiert here.

0

vielleicht müssen Sie Ihre JAR-Datei in Ihr Verzeichnis java_home/fonts kopieren. und wenn Sie Maven-Projekt verwenden, müssen Sie Ihre JAR-Datei in einem Maven-Projekt mit POM-Eigenschaften zu pom.xml

hinzufügen