2015-02-02 14 views
7

Próbuję dodać czcionkę Tahoma do raportu Jaspera w mojej aplikacji internetowej. Używam font extension mechanism.Rozszerzenia czcionek nie działają dla JasperReports

Ten wyjątek został zgłoszony: net.sf.jasperreports.engine.util.JRFontNotFoundException: Czcionka "TahomaFont" nie jest dostępna dla JVM. Więcej informacji można znaleźć w Javadoc.

Oto mój plik font.xml:

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

i tu jest mój plik jasperreports.properties:

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 

także Włożyłem Tahoma.ttf plik czcionki w mojej ścieżce klas. Oto tag styl w raporcie Jasper

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

Proszę dać mi znać, gdzie wezwę niewłaściwy. Z góry dziękuję.

Odpowiedz

3

Umieszczenie czcionki Tahoma.ttf na ścieżce klasy to , a nie sposób.

Masz rację, używając rozszerzeń czcionek, to dobra praktyka - ale musisz spakować czcionki jako rozszerzenie czcionki do słoika i dodać ten słoik do ścieżki klas.

  • W jasperReport, zarządzania czcionkami w opcji w Font karcie , wybrać czcionkę i kliknij eksport jako przedłużenie.
  • Spakuj swój słoik i wszystko powinno działać poprawnie bez konieczności instalowania fizycznej czcionki na maszynie JVM.

Więcej informacji udokumentowanych here.

0

Może trzeba skopiować plik jar do katalogu java_home/fonts. a jeśli jesteś użytkownikiem projektu, musisz spakować plik JAR w ramach projektu maven z właściwościami pom, aby dodać zależność do pom.xml