In Jaspersoft Studio ho creato un report in cui voglio visualizzare il titolo in grassetto. Se uso font sans serif, funziona correttamente. Se utilizzo altri font, il grassetto viene visualizzato nell'anteprima di Jaspersoft Studio, ma non viene mostrato quando il report viene eseguito nel server Jasper. Per favore aiuto.Grassetto non funziona in Jaspersoft Studio per font diversi da sans serif
risposta
È necessario creare un jar di estensione di caratteri jasper e inserirlo nel classpath sia in fase di compilazione (durante la compilazione di jrxmls) sia in fase di esecuzione (durante l'esecuzione di report). Ecco come il vaso (ad esempio JasperReports-fonts-5.5.2.jar) dovrebbe apparire:
I jasperreports_extension.properties dovrebbero contenere alcune proprietà per inizializzare tipi di carattere. (Ho usato basato primavera caratteri di inizializzazione. Potrebbe essere necessario aggiungere paio di vasi di primavera come la primavera-core, spring-fagioli ecc per classpath, se non è già presente.)
net.sf.jasperreports.extension.registry.factory.fonts=net.sf.jasperreports.extensions.SpringExtensionsRegistryFactory
net.sf.jasperreports.extension.fonts.spring.beans.resource=fonts/fonts_def.xml
Ora il fonts.xml per definire quali tipi di carattere si desidera aggiungere.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="fontBean001" class="net.sf.jasperreports.engine.fonts.SimpleFontFamily">
<property name="name" value="Tahoma"/>
<property name="normal" value="fonts/Tahoma.ttf"/>
<property name="bold" value="fonts/Tahoma_Bold.ttf"/>
<property name="pdfEmbedded" value="true"/>
</bean>
<bean id="fontBean002" class="net.sf.jasperreports.engine.fonts.SimpleFontFamily">
<property name="name" value="Arial"/>
<property name="normal" value="fonts/Arial.ttf"/>
<property name="bold" value="fonts/Arial_Bold.ttf"/>
<property name="italic" value="fonts/Arial_Italic.ttf"/>
<property name="boldItalic" value="fonts/Arial_Bold_Italic.ttf"/>
<property name="pdfEmbedded" value="true"/>
</bean>
</beans>
Nota la proprietà "pdfEmbedded"
è "true"
. Infine aggiungi il file .ttf per i font che vuoi aggiungere a jar.
Basta andare a questo sito per aggiungere i font personalizzati in PDF con Jasper
https://community.jaspersoft.com/wiki/custom-font-font-extension
Con le immagini la sua menzionati come crearlo. Basta eseguire il downlod di un file * .ttf per il tuo font. (Ad esempio: Arial.ttf).
Creare l'estensione ed esportarlo come un barattolo con l'aiuto di eclipse.
Infine aggiungi quel barattolo al tuo progetto. Questo è tutto.
Per i caratteri corretti nei PDF sono necessarie considerazioni speciali. Per JasperReports le estensioni dei font della libreria incorporata sono una soluzione. Non so, però, come fare l'equivalente sul server Jasper. – mkl
Vedere: http://community.jaspersoft.com/wiki/custom-font-font-extension –