JasperReports el report no encuentra las fonts configuradas en tiempo de ejecución

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:

  1. 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()));
    }
  2. 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"/>

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.