Skip to main content

Consideraciones sobre Reportes y PDF desde Web

En el excelente tutorial de NetBeans sobre Generating Reports and PDFs From a Web Application,
se explica muy bien como generar reportes y pdf para una aplicación web con JasperReport, en mi caso solo agregare unas consideraciones básicas que te pueden ayudar.
1. Descargar JasperReport

2. Descargar iReport
con iReport tendras un excelente diseñador visual para JasperReport
3. Configurar las librerias en NetBeans
solo descomprimes el zip , y desde la opción Tools->Libraries. En la figura estan las librerias.
Recuerda añadir una nueva libreria y agregar los jar.
Nota: Recuerde agregar la libreria jasperreports-numeroversion.jar


4. Recuerda especificar el jrxml en ambiente de edición, como se explica en el tutorial de netbeans (puedes verlo desde aqui).

5. En propiedades del proyecto agregar la librería.
6. Creas una carpeta llamada images en la carpeta resources. (resources/images)
7.Crear la carpeta reports en la carpeta src del proyecto, y configurarla como se indica en el tutorial.
8. Luego crear un archivo de texto , en el que se pegara el codigo del reporte generado por iReport.
9. Luego ajustar el build.xml para indicar donde esta la carpeta Jaspert que descomprimimos
Por ejemplo la configuracion del path en mi maquina seria para
<property name="jrc.home" value="C:\avbravo\sofware\windows\java\reportes\jasperreports\jasperreports-2.0.1" > Lo demas se mantiene igual. Si generas el proyecto debe generarte el archivo en la carpeta
/build/web/WEB-INF/reports
10. Configura el servlet como se indica en el tutorial de NetBeans.
11. Copia el codigo que muestran en el ApplicationBean1.java.
y agregar las librerias
java.io.InputStream;
java.sql.ResultSet;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.*;
import net.sf.jasperreports.engine.export.*;


En el tutorial recomiendan

request.getSession().setAttribute(ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);
que tiene que ver con el Servlet declarado, si esto te da algun problema, que no debiese ocurrir, puedes especificarlo directamente desde la clase.
request.getSession().setAttribute(net.sf.jasperreports.j2ee.servlets.ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE, jasperPrint);

12. Diseñas una pagina, con una tabla y dos botones y colocas los codigos del tutorial, lo unico que debes cambiar es el nombre de tu reporte, y listo, tendras reportes HTML y PDF.




Comments

Popular posts from this blog

JUnit con DataClassG

JUnit con DataClassG 0. ESQUEMA Services: Por cada beans crearemos una clase Services que se encargará de interactuar con el controller para realizar las operaciones de la base de datos. Se crearan los métodos insert, update,delete y los demas metodos para realizar las diversas operaciones. Test: Se crearán las clases para test de las clases Services. Form: Los formularios para la interactuar con el usuario. ProvinciasServices.java colocamos los métodos, insert, update,delete public class ProvinciasServices {    ProvinciasController provinciasController = new ProvinciasController();    public ProvinciasServices() {    }    public Boolean insert (Provincias provincias){        try{            if(provinciasController.insert(provincias)){              return tru...

Primefaces v13

 La versión nueva de primefaces v13.0 elimina el componente <p:repeat>  Consulte los cambios en  https://github.com/primefaces/primefaces/releases/tag/13.0.0 por lo tanto si necesita una solución similar considere utilizar  <p:carousel>  o  <ui:repeat> En la versión 13 genera una excepción