Buscar este blog

martes, 11 de mayo de 2010

Crear código de barras EAN 128 en java

Di tu que alguna vez lo necesito!!

/**
*
*/
package javeando.test;

import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;

import org.krysalis.barcode4j.impl.code128.EAN128;
import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;

/**
*
*/
public class BarCodeEan128 {

/**
* @param codigo TODO
*/
public static void main(String []codigo) {
/*
* La idea es generar una imagen de codigo de barras
* con codificacion ean 128
*/


String code = "12345678";
System.out.println(code.length());
System.out.println(barCodeEan128(code));


}

/**
* Metodo que permite obtener un array de byte que generan una imagen
* en PNG del codigo de barras en ean 128.
*
* @param codigo
* @return
*/
public static byte[] barCodeEan128(String codigo){
EAN128 bean = new EAN128();

final int dpi = 150;

//Configure the barcode generator

//Open output file
ByteArrayOutputStream out = null;
out = new ByteArrayOutputStream();
try {
//Set up the canvas provider for monochrome PNG output
BitmapCanvasProvider canvas = new BitmapCanvasProvider(
out, "image/x-png", dpi, BufferedImage.TYPE_BYTE_BINARY, false, 0);

//Generate the barcode
bean.generateBarcode(canvas, codigo);

//Signal end of generation
canvas.finish();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return out.toByteArray();
}
}

2 comentarios:

  1. Me has solucionado la vida con este código, muchísimas grácias.

    ResponderEliminar
  2. Una pregunta este codigo solo genera los numeros necesarios para generar el codigo de barras o tambien genear un bitmap con el codigo de barras?

    ResponderEliminar