impresion-jasperReports
Salida Jasper Reports
Instalación
Para que funcione correctamente es importante que todas las versiones que se descarguen manualmente relacionadas con Jasper Reports sean las mismas. En este instructivo la version utilizada es 5.6.0
Windows
http://www.itd.com.ec/itd/generando-un-reporte-ireport-desde-php-5-y-mysql/
Ubuntu
- Instalar Java 6 JDK sudo apt-get install sun-java6-jdk
- Descargar
[http://sourceforge.net/projects/jasperreports/files/jasperreports/JasperReports%205.6.1/jasperreports-5.6.1-project.tar.gz/download
JasperReports], descomprimir y copiar el contenido de la carpeta
lib
hacia$toba_dir/php/3ros/JasperReports
- Descargar el
[http://sourceforge.net/projects/jasperreports/files/jasperreports/JasperReports%205.6.1/jasperreports-5.6.1.jar/download
.jar de JasperReports] en la carpeta
$toba_dir/php/3ros/JasperReports
- Descargar
[ftp://ftp-developpez.com/charly-clairmont/tutoriels/php-jasper-reports/php-jasper-reports.zip
php-jasper-reports]. Descomprimir en carpeta temporal y copiar el
archivo
fichiers/alticJasper.jar
en$toba_dir/php/3ros/JasperReports
- Descargar
[http://jdbc.postgresql.org/download/postgresql-8.4-701.jdbc4.jar
JDBC de postgres] en
$toba_dir/php/3ros/JasperReports
- Copiar tools.jar cp /usr/lib/jvm/java-6-sun/lib/tools.jar $toba_dir/3ros/JasperReports
- Descargar
[http://sourceforge.net/projects/php-java-bridge/files/Binary%20package/php-java-bridge_5.5.2/php-java-bridge_5.5.2_documentation.zip/download
el bridge php-java]. Descomprimir en una carpeta temporal y copiar
y descomprimir el archivo
JavaBridge.war
en$toba_dir/php/3ros/JavaBridge
Paquete Pre-armado
Se trata de un paquete pre-armado por nosotros con una version
específica de Jasper Reports y Java Bridge, el paquete contiene los
archivos necesarios para utilizar la funcionalidad, el mismo debe ser
descomprimido en el directorio $toba_dir/php/3ros
[https://github.com/SIU-Toba/jasper/archive/master.zip PaqueteJasper]
Ejecucion
- Arrancar servidor de reportes java -jar $toba_dir/php/3ros/JavaBridge/WEB-INF/lib/JavaBridge.jar SERVLET:8081
- Definir un evento toba con acción 'vista_jasperreports'
Diseño de Reportes
- Ejecutar iReport:
./iReport-5.6.0/bin/ireport
- Archivo->Nuevo;
- "Launch report wizard"
- Elegimos un template ej: "Cherry"
- "Launch report wizard":
- Nombre: report1
- Location: /home/gabriel/myapp/reportes
- Siguiente
- New (para crear una nueva conexion), cabe aclarar que esta conexion es solo para ver el catalogo y hacer pruebas en nuestro servirdor de base de datos de desarrollo y no se embeberá en el reporte.
- jdbc
- Nombre: miPostgres
- Jdbc driver: PostgreSQL (org.postgresql.Driver)
- jdbc:postgresql://localhost:5432/MYDATABASE
- Address: 127.0.0.1
- Database: MYDATABASE
- Usernarme: dba
- Pass: miSuperPass
- Save
- Query: select * from mitabla
- Siguiente
- Seleccionamos las columnas que queremos ver en el reporte y damos siguiente
- En caso de necesitar hacer una agrupación la seleccionamos y siguiente
- Finalizamos
- Esto nos genera un archivo .jrxml
- Al hacer click en Preview vamos a visualizar el reporte y aparecerá un nuevo archivo con extensión .jasper
- Agregarle parametros al reporte que serán enviados desde el PHP:
En el menú de la izquierdo en "Parameters", click derecho y "Añadir Parameter". En el panel de la derecha le damos un nombre y especificamos el tipo de dato, ej: ParA tipo java.lang.Integer
- Hacer click en el boton que está a la derecha del botón Preview (Repor query) y modificamos nuestra consulta agregandole por ejemplo where campo = $P{parA}, damos ok
- Al hacer click en Preview vamos a visualizar el reporte pero antes nos va a pedir el valor del parámetro y regenerará el .jasper que utilizaremos más adelante desde php.
- Y aca termina el uso del programa iReport lo cerramos y listo