Jasper report e gestione dei font…

Scrivo due righe sulla gestione dei font con JasperReport sicuro che possono servire a tutti.

Il designer (iReport o JasperStudio) usa come font di default Dejavu con tutte le sue varianti. Se non volete problemi usate quello nei vostri report, il font è presente sia nel designer che nel server sia nelle librerie Jasperreportlibrary in caso di deploy.

Nel caso si vuole cambiare il font allora bisogna tenere presente che il designer accede ai font del sistema operativo in cui gira (windows/linux o mac) e prepara il jrxml da eseguire. Il server quando esegue il jrxml ACCEDE AI SUOI font che potrebbero non essere quelli del client che si è usato per creare il report generando un’eccezione tipicamente:

net.sf.jasperreports.engine.util.JRFontNotFoundException
Font ‘Arial’ is not available to the JVM.

Per ovviare a questo problema ci sono tre soluzioni:
1) Usare nei report sempre quelli di default.
2) Importare nel jar di deploy i font che servono (in caso di deploy in un proprio jar) oppure controllare che sul server ci siano gli stessi font usati nel client di sviluppo.
3) nel jrxml aggiungere l’istruzione:

<property name="net.sf.jasperreports.awt.ignore.missing.font" value="true"/>

segnalando al runtime di ignorare i font non trovati e usare comunque quelli di default.

Alcuni link:

http://community.jaspersoft.com/questions/530776/need-help-361-and-jrfontnotfoundexception

http://community.jaspersoft.com/questions/542679/font-provided-font-extension-not-working-charts-or-pdf-export

http://stackoverflow.com/questions/3811908/jvm-fonts-and-jasperreports

http://mdahlman.wordpress.com/2010/05/28/jaspersoft-v3-7-font-extensions/

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Jasper Report (e java)- Confrontare due campi BigDecimal

Per eseguirre il confronto tra due campi di tipo BigDecimal usare la seguente formula:

new Boolean(CAMPO1.compareTo(CAMPO2) != 0)

Se dovete testare se il campo è uguale a zero allora:

new Boolean(CAMPO_DA_TESTARE.compareTo(BigDecimal.ZERO) != 0)

In alternativa si può usare il linguaggio Groovy come sintassi.

 

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Utilizzo i cookie per essere sicuro che tu possa avere la migliore esperienza sul mio sito. Se continui ad utilizzare questo sito assumo che tu ne sia felice.. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi