RBarCode
Bienvenido a RBarCode, este paquete contiene un applet java y una clase
para crear códigos de barras para sus páginas web o sus aplicaciones
Java.
BarCode
Esta sección explica la configuración de los parámetros
de la clase BarCode. Esta clase es un subtipo de java.awt.Canvas y por
lo tanto puede usarla dentro de cualquier contenedor Java.
Los nombres entre paréntesis son los nombres de los parámetros
para el applet.
- barType (parámetro CODE_TYPE en el applet): es el tipo
de código de barras a usar. Valores válidos con: BAR39, BAR39EXT,
CODE39, CODE11, CODABAR, CODE93EXT, CODE128, MSI, IND25, MAT25, INTERLEAVED25,
EAN13, EAN8, CODE128, POSTNET, UPCA y UPCE.
- backColor (BACK_COLOR): color de fondo.
- barColor (BAR_COLOR): color de las barras.
- barHeightCM (parámetro BAR_HEIGHT en el applet: Altura
de las barras en C;. Si este valor es 0, la altura se calcula usando H.
- CODABARStartChar (CODABAR_START): Carácter de inicio
de CODABAR. Valores válidos son "A", "B", "C"
or "D".
- CODABARStopChar (CODABAR_STOP): Carácter de parada
de CODABAR. Valores válidos son "A", "B", "C"
or "D".
- code (parámetro BARCODE en el applet): valor a codificar..
- code128set (parámetro CODE128_SET in applet): juego de
caracteres a usar en el caso de code128. Loas valores válidos son: A,
B or C.
- checkCharacter (CHECK_CHAR): Si es verdadero el software calculará
el carácter de control automáticamente. El applet interpreta
"Y" como verdadero y "N" como falso.
- fontColor (FONT_COLOR): color del texto.
- guardBars (GUARDS_BARS): indica si las barras de guarda serán
más altas que las demás. Sólo para UPC o EAN.
- I (parámetro I en el applet): separador entre carácteres,
sólo para BAR39. Un valor de 1 significa que el separador tendrá
la misma longitud que X.
- H (parámetro H en el applet): Indica como calcular la
altura de las barras. Un valor de 0.5 significa que las barras tendrán
una altura, la mitad de la lóngitud del símbolo.
- leftMarginCM (LEFT_MARGIN): margen izquierdo en CM.
- N (parámetro N en el applet): un valor de 2 significa
que las barras anchas tendrás un anchura el doble que las estrechas.
El defecto es 2.
- PDFColumns (sólo para Barcode2D) (PDF_COLUMNS): número
de columnas para PDF417 (el defecto es 10).
- PDFECLevel (sólo para Barcode2D) (PDF_ECLEVEL): nivel
de corrección de errores para PDF417 (el defecto es 0).
- PDFMode (sólo para Barcode2D) (PDF_COMPACTION): el modo
puede ser NUMERIC, TEXT or BINARY.
- PDFRows (sólo para Barcode2D) (PDF_ROWS): número
de filas para PDF417 (opcional).
- postnetHeightTallBar: altura de las barras altas en Postnet
(en CM).
- postnetHeightShortBar: altura de las barras cortas en Postnet
(en CM).
- rotate (ROTATE): angulo en el que se debe rotar el código
para mostrarlo verticalmente, por ejemplo. Los valores válidos son
0,90,180 y 270.
- supHeight (SUPPLEMENT_HEIGHT): altura relativa de las barras
del suplemento.El defecto (0.8) significa 80% de la altura de las
barras normales.
- supSeparationCM (SUPPLEMENT_SEPARATION): separación en
CM del suplemento y el código.
- textFont (TEXT_FONT): tipo de letra a usar.
- topMarginCM (TOP_MARGIN): margen superior en CM.
- UPCESystem (UPCE_SYSTEM): codificación a usar para UPC.
Valores válidos son 0 y 1.
- UPCEANSupplement2 (SUPPLEMENT=2): indica si los códigos
EAN y UPC tendrán un suplemento de 2 dígitos.
- UPCEANSupplement5 (SUPPLEMENT=5): indica si los códigos
EAN y UPC tendrán un suplemento de 5 dígitos.
- X (parámetro X en el applet):: anchura en centímetros
de las barras estrechas. EL defecto es 0.03.
Cómo crear un fichero gif o jpeg.
También puede exportar el código de barras a un fichero
gif o jpeg. Para hacer esto de user el siguiente código:
import MSBBarCode.*;
import MSBBarCode.encoder.*;
bc=new BarCode();
bc.setSize(400,200); // importante
....
new barCodeEncoder(bc,"GIF","file.gif");
new barCodeEncoder(bc,"JPEG","file.jpg");
notar que:
- El codificador GIF es propiedad de Acme (http://www.acme.com)
- Para usar JPEG debe tener instalado el paquete com.sun.image.codec.jpeg.
Nota: esto sólo esta disponible para JDK 1.2 o superior
Cómo crear un código de barras en un objeto a java.awt.Image
El siguiente código ilustra como crear un código de barras
en un objeto java.awt.Image
bc=new BarCode();
bc.setSize(400,200); // importante
// crear imagen
java.awt.image.BufferedImage image = new java.awt.image.BufferedImage(
bc.getSize().width,bc.getSize().height,java.awt.image.BufferedImage.TYPE_BYTE_INDEXED
);
// contexto gráfico de la imagen
java.awt.Graphics imgGraphics = image.createGraphics();
// dibujar código de barras en el contexto gráfico
de la imagen
bc.paint(imgGraphics );.
Cómo usar el campo checkCharacter (CHECK_BAR)
Si proporciona un código con el carácter de control ya
calculado, debe asigna al parámetro CHECK_CHAR el valor N (esto
es el defecto). Si por el contrario desea que el software calcule el carácter
de control, debe asignar el valor Y al parámetro CHECK_CHAR.
Los códigos EAN y UPC tienen una longitud fija, por lo tanto
sólo so pueden dar las siguientes combinaciones:
- EAN13: proporcionar 13 dígitos a asignar N a CHECK_CHAR o proporcionar
12 dígitos y asignar Y a CHECK_CHAR.
- EAN8: proporcionar 8dígitos a asignar N a CHECK_CHAR o proporcionar
7 dígitos y asignar Y a CHECK_CHAR.
- UPCA and UPCE: proporcionar 12 dígitos a asignar N a CHECK_CHAR
o proporcionar 11 dígitos y asignar Y a CHECK_CHAR.
Cómo user RBarcode en un sitio web
Existen 2 posibilidades:
- Usar el applet para crear códigos de barras en el navegador.
En este caso debe crear páginas HTML dinámicamente ya que
estas contienen las parámetros para el applet.
- Usar un servlet para crear una imagen gif o jpeg en el servidor
y enviarla al navegador. Ver RBarcodeServlet.java para un ejemplo.
BCApplet
Puede usar el applet BCApplet para mostrar códigos de barras
en sus páginas HTML. Algunos parámetros tienen un formato
especial:
- Colores: valoes válidos son: RED,BLUE,GREEN,BLACK,GRAY,LIGHTGRAY,WHITE,DARKGRAY,YELLOW,ORANGE,CYAN
y MAGENTA. También puede usar el valor numérico RGB (por
ejemplo 0x00FF00 es el verde).
- Los tipos de letra tienen el formato <tipo de letra>|<estilo>|<tamaño>.
El estilo puede ser PLAIN, ITALIC (cursiva) o BOLD (negrita). Ejemplo:
"Arial|BOLD|12"
Ejemplo de uso del applet:
<APPLET CODEBASE = "./" CODE = "MSBBarCode.BCApplet.class"
NAME = "TestApplet" WIDTH = 500 HEIGHT = 100 HSPACE = 0 VSPACE
= 0 ALIGN = middle >
<PARAM NAME = "BARCODE" VALUE = "12345667">
<PARAM NAME = "CODE_TYPE" VALUE = "CODE11">
<PARAM NAME = "BAR_COLOR" VALUE = "RED">
<PARAM NAME = "BACK_COLOR" VALUE = "YELLOW">
<PARAM NAME = "LEFT_MARGIN" VALUE = "1">
<PARAM NAME = "TOP_MARGIN" VALUE = "1">
<PARAM NAME = "FONT_COLOR" VALUE = "BLUE"> <
PARAM NAME = "TEXT_FONT" VALUE = "ARIAL|BOLD|14">
<PARAM NAME = "CHECK_CHAR" VALUE = "Y">
<PARAM NAME = "BAR_HEIGHT" VALUE = "1"> </APPLET>
Puede proporcionar los parámetros para el applet en el tag PARAM
o usando JavaScript. Por ejemplo, el siguiente código cambia el
valor del código a codificar:
TestApplet.setParameter(BARCODE,"new value");
TestApplet.refresh();
Tipos de sódigos de barras
A continuación encontrará una corta descripción
de algunos tipos de códigos:
- BAR39: Code 39 es un código alfanumérico que codifica
números decimales, letras mayúsculas y algunos símbolos
especiales: _ . * $ / % +. Si el parámetro CHECK_CHAR vale verdadero,
RBarCode calculará el carácter de control opcional (módulo
43).
- BAR39EXT: Extended Code 39 codifica el juego de carácteres
ASCII (128 carácteres). Si el parámetro CHECK_CHAR vale
verdadero, RBarCode calculará el carácter de control opcional
(módulo 43).
- INTERLEAVED25: "Interleaved 2 of 5" códifica
valores numéricos sólo. Si el parámetro CHECK_CHAR
vale verdadero, RBarCode calculará el carácter de control
opcional (módulo 10).
- UPCA: UPC-A codifica un código de 12 dígitos el
último de los cuales es un carácter de control.
- EAN8: EAN-8 es una version reducida de EAN-13. Incluye 2 o 3
dígitos para el país, 4 o 5 para datos y un dígito
de control.
- EAN13: El símbolo EAN-13 codifica 13 dígitos: los
2 o 3 primeros identifican el país, los 9 o 10 siguientes el producto
y el último es un dígito de control. UPCE: UPC-E es
un código de barras comprimido de 6 dígitos. La compresión
actúa eliminando los ceros del código original UPCA. Por
lo tanto, sólo códigos UPCA con al menos 5 ceros pueden ser
comprimidos.
- CODE128: Code 128 codifica en juego completo de carácteres
ASCII. Si el parámetro CHECK_CHAR vale verdadero, RBarCode calculará
el carácter de control opcional (módulo 103).
- MSI: MSI sólo codifica carácteres numéricos.Si
el parámetro CHECK_CHAR vale verdadero, RBarCode calculará
el carácter de control opcional (módulo 10).
- CODE11: Code 11 es un código numérico con un carácter
especial: - .Si el parámetro CHECK_CHAR vale verdadero, RBarCode
calculará el carácter de control. Si la longitud del valor
a codificar el mayor que 10 se calculará un segundo dígito
de control.
- CODE93: Code 93 es una versión más compacta de
Code 39. Codifica los mismos carácteres que Code 39, pero usa 9
elementos por caráctzer en vet de 15. Si el parámetro CHECK_CHAR
vale verdadero, RBarCode calculará el carácter de control
opcional (módulo 43).
- IND25: "Industrial 2 of 5" es un código numérico.
A diferencia de "Interleaved 2 of 5" toda la información
está codificada en las barras y loas espacios, de longitud fija,
sólo se usan para separar barras. No existe un dígito de
control.
- CODABAR: Codabar es un código númerico con carácteres
especiales (-$:/.+). Si el parámetro CHECK_CHAR vale verdadero,
RBarCode calculará el carácter de control opcional (módulo
16).
En
el web de HP podrá obtener más información