martes, 1 de julio de 2014

Codigo Barras EAN128 con iReport y Barcode4j

Código de barras generado utilizando iReport con la librería barcode4j

Incluir librerias: 

<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.7</version>
</dependency>

Crear codigo para enviar a iReport

final char FNC1 = Code128LogicImpl.FNC_1;
final char CD = EAN128Bean.DEFAULT_CHECK_DIGIT_MARKER;
String cod = "415770105500005" + CD + FNC1 + "80209115675110080555" + FNC1 + "390000021170" + FNC1 + "9620080402";

Si se imprime la variabla cod veriamos lo siguiente:
415770105500005ðñ80209115675110080555ñ390000021170ñ9620080402

El texto del codigo de barras deseado es el siguiente:
(415)7701055000053(8020)9115675110080555(3900)00021170(96)20080402

En iReport campo "Code Expression", debes enviar el codigo generado en las lineas anteriores en Java.

*En iReport campo "Module Width", se puede adicionar un valor para modificar el tamaño de las barras permitiendo que se muestren todos los numeros del texto. En mi caso el valor utilizado es 1.0