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");