JasperReports es una de las librerías de generación de informes más populares y versátiles, bajo tecnología Java, incluyendo iReports, la herramienta visual para la generación de los informes.
Es una lástima, pero hay que admitir que actualmente bajo PHP no existe ninguna librería que esté minimamente a la altura, teniendo que recurrir a librerías del estilo FPDF para la exportación en PDF… y por supuesto diseñando los informes “a manini”.
Por lo tanto, pongámonos manos a la obra y busquemos una forma de unir PHP y Java, así podremos utilizar JasperReports desde una aplicación PHP. Usaremos una librería llamada php/Java Bridge, que nos permitirá realizar llamadas a métodos Java desde el código PHP de la aplicación. Aunque no es la única existente en el mercado y podamos encontrar otros bridges como Quercus, será la que utilice en este post por ser gratuita y cumplir la funcionalidad que necesitamos, utilizar JasperReports desde PHP.
No voy a reinventar la rueda, por lo que os invito a leer este tutorial de adictosaltrabajo.com sobre el cual realizaré algunas anotaciones.
Os recomiendo bajaros desde el website de JasperReports el paquete completo (son unos 70 y pico megas), dado que incluye todas las librerías de las que puede depender su funcionalidad. De esa forma evitamos tener que bajarlas a mano una por una.
Con respecto al bridge, no es necesario que para realizar algunas pruebas os descarguéis ningún contenedor de aplicaciones como tomcat o resin, el mismo paquete incluye un pequeño contenedor que podréis ejecutar con el siguiente comando:
Os pedirá que seleccionéis el socket y puerto y estará listo para funcionar.
En los próximos días haré algunas pruebas de rendimiento, cuando tenga algo de tiempo, a ver si realmente merece la pena y puede ser útil en un entorno de producción.

0