CODE 128 es un código de barras elaborado por Computer Identics Corporation (los Estados Unidos) en 1981. El código de barras CODE 128 puede representar todos los 128 símbolos del código ASCII (números, registro alto / registro bajo, registro de letras, símbolos y código de control). Dado que puede representar todos los símbolos (excepto los kanji, la hiragana y el katakana), que pueden manejarse con un teclado de ordenador, es un código de barras de ordenador. Code-128 puede ser muy compacto a causa del empaquetado doble de los datos, donde se escriben dos dos números en un solo módulo.
El código de barras Code-128 comprende 107 símbolos. Hay 103 símbolos de datos, 3 símbolos de inicio, y 1 símbolo de stop. Para codificar todos los 128 símbolos ASCII existen tres conjuntos de símbolos del código de barras Code128 - A, B y C que pueden utilizarse dentro de un mismo código de barras.
- 128 A son símbolos en forma de ASCII de 00 a 95 (dígitos de «0» a «9», letras de «A» a «Z») y los símbolos especiales;
- 128 B son símbolos en forma de ASCII de 32 a 127 (dígitos desde «0» hasta «9», letras de «A» a «Z» y de «a» a «z»), y también los símbolos especiales;
- 128 C son símbolos en forma de ASCII de 00 a 99 (sólo para el código de números).
Los requerimientos técnicos de los símbolos del código de barras Code-128, valores de símbolos, codificación de caracteres de datos, dimensiones, algoritmos de decodificación, parámetros de aplicación, líneas-prefijos e identificador de símbolos en todo el mundo se reglan por ISO/IEC 15417: 2007 “Information technology - Automatic identification and data capture techniques - Code 128 bar code symbology specification".
La composición básica es la siguiente:
1) El código inicial
2) El dígito de comprobación (el módulo 103)
3) El código de stop
La estructura de Code-128
La estructura del código de barras Code128 es bastante simple. El código de barras comprende 6 zonas:
- El campo blanco;
- El símbolo de inicio (Start);
- La información codificada;
- El símbolo de verificación (el carácter de control);
- El símbolo de stop (Stop);
- El campo blanco.
Los símbolos del código de barras Code-128 comprenden 3 trazos y 3 espacios (en total 6 elementos). Los trazos y los espacios están construidos de tipo de módulo con la anchura de 1 a 4 módulos (1 módulo = 0,33 mm). La anchura del carácter es de 11 módulos. El símbolo de stop comprende trece módulos y tiene 4 trazos y 3 espacios.
Al notar, «Módulo 103» (Modulus 103) se utiliza como un dígito de comprobación en este código de barras. Según la tabla de símbolos del código de barras Code-128, a cada carácter se le asigna un valor correspondiente. Luego, el factor de ponderación 1, 2, 3,…,n se asigna a cada carácter, excepto el símbolo Stop y el carácter de control . Al mismo tiempo, el factor de ponderación igual a uno se asigna al símbolo «Start» y al primer carácter que le sigue. El dígito de comprobación se calcula como la suma de los productos de los factores de ponderación por los valores correspondientes al módulo 103. El carácter de control está situado entre el último carácter de datos y el símbolo «Stop».
Code-128 puede cambiar un tipo de codificación en un código de barras. La imagen siguiente muestra la transición de Code-C a Code-A.
1] Empezar por CODE-C
2] Cambiar a CODE-A
Con CODE-C los números de dos cifras se pueden representar con un tipo de trazo, el llamado «empaquetado doble» de datos. Permite aumentar la densidad de datos. El ejemplo anterior muestra este caso.
Si los datos del código de barras comprenden 12 o más dígitos, CODE 128 ofrece un tamaño menor que ITF y EAN-128.
Dado que CODE 128 utiliza 4 tipos de tamaños de barras, las impresoras con la alta calidad de impresión son necesarias. Code 128 no es apta para imprimir en las impresoras de matriz y de inyección y también para la flexografía en el cartón corrugado.
Los campos de aplicación
CODE 128 se utiliza en los sectores siguientes:
- industria de confección de los Estados Unidos
- industria de alimentación de los Estados Unidos
- producción de los medicamentos y del equipo médico de los Estados Unidos
- industria de alimentación de Australia y de Nueva Zelanda
- industria europea de la producción de los medicamentos y de las herramientas médicas
El empaquetado individual | El empaquetado de transporte | La caja logística |
La botella del zumo de mirtilo, 3 litros, botella de cristal | 6 piezas, caja de cartón | 24 piezas, palé |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
4611234567893 | 14611234567899 | (02)14611234567890(37)24 |
El código de barras EAN-13 | El código de barras ITF-14 | El código de barras Code-128 |
461 dentro de cada código de barras se llama un código regional de las organizaciones nacionales GS1(por ejemplo, 460-469 Rusia) (000-139 los Estados Unidos) | 1 (al principio) es un indicador que significa el nivel del empaquetado para una caja de cartón particular. Este prefijo único puede variar de 0 a 8. (por ejemplo, 1 — caja, 2 — cajón, etc). |
(02) - GTIN de los artículos comerciales que la carga contiene |
La creación del código de barras desde el código en FastReport VCL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
uses frxClass, frxBarcode, frxBarcod, frxDBSet, Printers; var DataPage: TfrxDataPage; Page: TfrxReportPage; Band: TfrxBand; Barcode: TfrxBarcodeView; begin { Borramos un informe } frxReport1.Clear; { Añadimos la pagina "Datos" } DataPage := TfrxDataPage.Create(frxReport1); { Añadimos una pagina } Page := TfrxReportPage.Create(frxReport1); { Creamos un nombre único } Page.CreateUniqueName; { Establecemos los tamaños de los campos, del papel y la orientación por defecto } Page.SetDefaults; { Cambiamos la orientación del papel } Page.Orientation := poLandscape; { Añadimos report title } Band := TfrxReportTitle.Create(Page); Band.CreateUniqueName; { Para el band necesita establecer la coordenada Top y la altitud} { ambos coordenadas – en píxeles } Band.Top := 20; Band.Height := 40; { Creamos un objeto del código de barras } Barcode := TfrxBarcodeView.Create(Band); { Establecemos un tipo del código de barras } Barcode.BarType := bcGS1Code128; { Establecemos la combinación de nombres para la codificación } Barcode.Text := '(02)14611234567890(37)24'; { Establecemos la posición y las dimensiones del objeto } Barcode.Top := 0; Barcode.Left := 10; Barcode.Height := 40; { Establecemos la demostración del texto bajo el código de barras } Barcode.ShowText := True; { Mostramos el informe } frxReport1.ShowReport; end; |
La creación del código de barras desde el código en FastReport .NET
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
//Creamos el objeto del informe Report report = new Report(); //Creamos la pagina del informe ReportPage page = new ReportPage(); //añadimos un identificador único page.CreateUniqueName(); //La añadimos en la colección de las páginas del informe report.Pages.Add(page); //Creamos los datos de band DataBand dataBand = new DataBand(); //con el identificador único dataBand.CreateUniqueName(); //y lo añadimos en la colección de bands page.Bands.Add(dataBand); //Creamos un objeto del código de barras FastReport.Barcode.BarcodeObject barcode = new FastReport.Barcode.BarcodeObject(); //Establecemos un tipo del código de barras barcode.Barcode = new FastReport.Barcode.Barcode128(); //Establecemos la combinación de nombres para la codificación barcode.Text = "(02)14611234567890(37)24"; //Placemos el código de barras en la pagina barcode.Parent = dataBand; //Establecemos las dimensiones del objeto barcode.Bounds = new RectangleF(0, 0, Units.Centimeters * 10, Units.Centimeters * 3); //Mostramos el informe report.Show(); |
Ahora usted sabe un poco más sobre el código de barras Code-128 y sus variantes A, B, C.