La librería JasperReports permite la integración de los informes en una aplicación Java. Es posible hacerlo partiendo tanto del archivo .jasper como del archivo .jrxml. Se utiliza para compilar, rellenar, aplicar parámetros y visualizar un informe en diferentes formatos finales. La ventaja es que como podemos pasar parámetros mediante código, basta con conectar el informe a un formulario y el usuario final podrá determinar las características finales del informe o de los datos a mostrar.
Para pasar parámetros a un informe es necesario, en primer lugar, tener definido el parámetro en el informe con el tipo adecuado. En el código crearemos una tabla hash a la que añadiremos una pareja formada por el nombre del parámetro y la variable que contiene su valor. Una Hashtable Java es una estructura de datos que utiliza una función hash para identificar datos mediante una llave o clave
El despliegue del informe se hace a través de un objeto de la clase JasperPrint y la clase JasperFillManager. Para crearlo usaremos esta sentencia:
JasperPrint print = JasperFillManager.fillReport(ArchivoJasper, Parámetros, Conexion);
Donde:
- ArchivoJasper: es el archivo de Jasper con el informe.
- Parámetros: tabla hash con los parámetros que hay que pasar al informe.
- Conexión: conexión al origen de datos.
JasperFillManager.fillReport genera el informe en memoria. Para volcar el informe a un archivo, utilizamos la clase JasperExportManager, que tiene varios métodos para crear archivos de salida de diferentes tipos, entre otros podremos generar un archivo PDF con el informe con el siguiente código:
JasperExportManager.exportReportToPdfFile(print, "informe.pdf");