PROBLEMA: El informe no funciona porque no encuentra las fonts ya que estas pueden variar de una JVM a otra.
Tendríamos una excepción del tipo…
JRFontNotFoundException: Font 'Arial' is not available to the JVM.
SOLUCIÓN:
- Instalar las fuentes en la máquina virtual, esto dependerá un poco del sistema operativo, en linux en general se puede optar por instalar el paquete ttf-mscorefonts, para asegurarnos de las fuentes disponibles en nuestra JVM podemos ejecutar el siguiente código:
public static void main(String[] args) throws Exception { System.out.println(Arrays.asList(GraphicsEnvironment .getLocalGraphicsEnvironment().getAvailableFontFamilyNames())); }
- También podemos hacer que Jasper ignore las fuentes configuradas y las cambie por alguna de las que tenga disponibles, para esto hay que insertar la siguiente propiedad en el report:
<property name="net.sf.jasperreports.awt.ignore.missing.font" value="true"/>