openxava / documentación / Generación de informes - Lección 5: Códigos de barra

Video

En este video veremos cómo trabajar con códigos de barra en nuestro reporte utilizando datos enviados desde la aplicación OpenXava.

¿Problemas con la lección? Pregunta en el foro

Código

Puedes descargar el proyecto de esta lección. También puedes copiar el código que se usa en el video por aquí:

En el archivo pom.xml:
<dependency>
    <groupId>net.sf.barcode4j</groupId>
    <artifactId>barcode4j</artifactId>
    <version>2.1</version>
</dependency>

<dependency>
    <groupId>org.apache.xmlgraphics</groupId>
    <artifactId>batik-bridge</artifactId>
    <version>1.11</version>
</dependency>

<dependency>
    <groupId>com.google.zxing</groupId>
    <artifactId>core</artifactId>
    <version>3.3.0</version>
</dependency>

<dependency>
    <groupId>com.google.zxing</groupId>
    <artifactId>javase</artifactId>
    <version>3.3.0</version>
</dependency>


Transcripción

Hola, soy Mónica. En esta lección aprenderás a generar códigos de barra y códigos QR en el reporte, a partir de información enviada desde OpenXava.

Siguiendo con el reporte de la lección pasada, arrastramos un elemento barcode al reporte. De todas las opciones disponibles elegimos EAN13 de Barcode4J. En el barcode del panel de properties podemos asignarle una expresión. Vamos a usar el parámetro ISBN. Guardamos, copiamos e iniciamos la aplicación. Luego de esperar un rato no genera el reporte. Vamos a la consola de OpenXava Studio y aparece un error. Dice que no puede encontrar una clase de la librería barcode4j. Copiamos la traza y lo pegamos en el buscador. Aquí nos propone una solución, que es agregar una dependencia en el archivo pom.xml ubicado en la raíz del proyecto. Copiamos la dependencia y lo pegamos en el pom. Guardamos y hacemos un maven install antes de iniciar la aplicación. Probamos en generar el reporte de nuevo. El reporte se generó pero está incompleto, vamos a la consola a ver qué error dio esta vez. También dice que no encuentra una clase. Hacemos lo mismo, buscamos en el navegador. Aquí dice que la solución es agregando una dependencia más. Así que lo pegamos en el pom y hacemos maven install antes de iniciar la aplicación. Esta vez funcionó. Así sería el resultado, el elemento genera un código de barra a partir de los 13 dígitos del ISBN que recibe.

Vamos a probar otro más. Esta vez vamos a seleccionar QRCode y también le asignamos el parámetro de ISBN. Guardamos, copiamos y probamos el reporte. Nos dice que no puede encontrar una clase. Copiamos la traza en el buscador a ver si encontramos alguna solución. Al parecer nos faltan estas dos dependencias. Lo agregamos en nuestro pom. Guardamos y hacemos maven install antes de reiniciar la aplicación. Ahí está el QRCode, si lo escaneamos nos mostrará su información, que sería el ISBN.

En esta lección has visto dos tipos de código de barra: EAN13 y QRCode. Existen otros tipos de barcode, cada uno de ellos tiene un diseño específico para satisfacer las necesidades de su ámbito particular. Te invitamos a que pruebes los otros tipos. Si tienes alguna duda o problema puedes preguntarnos por el foro, también puedes descargar el código de esta lección por el link del repositorio, ambos enlaces se encuentran en la descripción del video. Chao