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"/>

JasperReports subreport con conexi贸n una Base de Datos distinta al Report

Construyendo un Report que incluye diferentes subreports con Jaspersoft Studio 6.01 me he encontrado con el problema de ejecutar un subreport con una conexion a base de datos diferente a la del Informe principal.

SOLUCI脫N:

  1. Crear un parametro en el Report principal en el que configuramos la conexion para el subereport.

Captura de pantalla 2015-09-24 a las 12.33.29

2. En la llamada al subreport, pasarle el parametro conexi贸n en el campo: 芦connectionExpresion禄

Captura de pantalla 2015-09-24 a las 12.36.56

El c贸digo fuente en XML quedar铆a as铆…

<connectionExpression><![CDATA[$P{subreportConnection}]]></connectionExpression>
<subreportExpression><![CDATA["file:subreport.jasper"]]></subreportExpression>