CODE 128 é um código de barras desenvolvido pela Computer Identics Corporation (EUA) em 1981. O código de barras 128 pode representar todos os 128 caracteres do código ASCII (números, maiúsculas / minúsculas, letras maiúsculas, caracteres e códigos de controle). Como pode representar todos os caracteres (exceto kanji japonês, hiragana e katakana) com os quais um teclado de computador pode ser trabalhado, é um código de barras de computador. O Code-128 pode se tornar muito compacto por meio de "empacotamento duplo" de dados quando dois números são gravados em um único módulo de código de barras.
O código de barras Code-128 inclui 107 caracteres. Dos quais os 103 são caracteres de dados, 3 de partida, e 1 símbolo stop. Existem três conjuntos de caracteres Code128-A, B e C para codificar todos os 128 caracteres ASCII, que podem ser usados dentro de um único código de barras.
Os requisitos técnicos para a simbologia do código de barras Code-128, indicadores de simbolismo, a codificação de caracteres de dados, algoritmos de decodificação, as opções de aplicação, a seqüência de prefixos e identidade de marca em todo o mundo estão sujeitas a ISO/IEC 15417:2007 “Information technology - Automatic identification and data capture techniques - Code 128 bar code symbology specification".
A composição básica é a seguinte:
1) Código inicial
2) Dígito de verificação (módulo 103)
3) Código de parada
A estrutura do código de barras Code128 é bastante simples. O código de barras é composto por 6 zonas:
- Campo branco;
- Símbolo inicial (Start);
- Informação codificada;
- Símbolo de verificação (sinal de verificação);
- Símbolo de parar (Stop);
- Campo branco.
Os caracteres do código de barras Code-128 consistem em 3 traços e 3 espaços (6 elementos no total). Os traços e lacunas são modulares, com uma largura de 1 a 4 módulos (1 módulo = 0,33 mm). A largura do sinal é igual a 11 módulos. O sinal de Parada (Parada) consiste em treze módulos e possui 4 traços e 3 lacunas.
A propósito, neste código de barras, o "Módulo 103" (Módulo 103) é usado como um dígito de verificação. De acordo com a tabela de caracteres do código de barras Code-128, cada caractere recebe um valor correspondente. Então, para cada sinal, exceto o sinal "Stop" e o sinal de controle, um fator de peso é atribuído, 1, 2, 3,., n. Ao mesmo tempo, os sinais "Start" e o primeiro sinal a seguir recebem um coeficiente de peso igual a um. O dígito de verificação é calculado como a soma dos produtos dos coeficientes de peso pelos valores correspondentes no módulo 103. Há um sinal de controle entre o último sinal de dados e o sinal "Stop".
Code-128 pode alterar o tipo de codificação em um único código de barras. A figura a seguir mostra a transição de Code-C Para Code-A.
1] Comece com o CODE-C
2] mudar para CODE-A
Ao usar o CODE-C, os números de dois dígitos podem ser representados por um tipo de padrão de barra, o chamado "empacotamento duplo" dos dados. Isso permite maior densidade de dados. No exemplo acima, este caso é apresentado.
Se os dados do código de barras contiverem 12 ou mais dígitos, O CODE 128 fornecerá um tamanho menor que o ITF e o EAN-128.
Como o CODE 128 usa 4 tipos de tamanho de tira, são necessárias impressoras com alta qualidade de impressão. O Code 128 não é adequado para impressoras matriciais e jato de tinta, nem para impressão flexográfica em papelão ondulado.
O CODE 128 é usado nas seguintes indústrias:
- Indústria de vestuário dos EUA
- Indústria alimentar dos EUA
- Fabricação de medicamentos e equipamentos médicos dos EUA
- Indústria alimentar da Austrália e Nova Zelândia
- Indústria europeia de medicamentos e instrumentos médicos
Embalagem única | Embalagem de transporte | Embalagem logística |
Uma garrafa de suco de mirtilo, 3 litros, uma garrafa de vidro | 6 peças, caixas da cartão | 24 peças, paletes |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
4611234567893 | 14611234567899 | (02)14611234567890(37)24 |
Código de barras EAN-13 | Código de barras ITF-14 | Código de barras Code-128 |
461 dentro de cada código de barras chamado de código regional das organizações nacionais GS1(por exemplo, 460-469 Rússia) (000-139 EUA) | 1 (no início) é um indicador que indica o nível de embalagem de uma caixa de papelão específica. Esse prefixo inequívoco pode variar de 0 a 8. (por exemplo, 1 - caixa de cartão, 2 - caixa, etc.). |
(02) é GTIN de unidades comerciais contidas na cada carga |
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 { Limpamos relatório } frxReport1.Clear; { Adicionamos página "dados"} DataPage := TfrxDataPage.Create(frxReport1); { Adicionamos uma nova página } Page := TfrxReportPage.Create(frxReport1); { Criamos um nome exclusivo } Page.CreateUniqueName; { Definimos os tamanhos de margem, papel e orientação padrão } Page.SetDefaults; { Alteramos a orientação do papel } Page.Orientation := poLandscape; { Adicionamos report title } Band := TfrxReportTitle.Create(Page); Band.CreateUniqueName; { Para a banda, basta definir a coordenada Top e a altura } { Ambas as coordenadas estão em pixels } Band.Top := 20; Band.Height := 40; { Criamos objeto de código de barras } Barcode := TfrxBarcodeView.Create(Band); { Definimos o tipo de código de barras } Barcode.BarType := bcGS1Code128; { Definimos a combinação numérica para codificação } Barcode.Text := '(02)14611234567890(37)24'; { Definimos a posição e as dimensões do objeto } Barcode.Top := 0; Barcode.Left := 10; Barcode.Height := 40; { Definimos a exibição do texto na parte inferior do código de barras } Barcode.ShowText := True; { Exibimos relatório } frxReport1.ShowReport; end; |
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 |
//Criamos objeto de relatório Report report = new Report(); //Criamos a página de relatório ReportPage page = new ReportPage(); //adicionamos um identificador exclusivo page.CreateUniqueName(); //Adicione-o à coleção de páginas do relatório report.Pages.Add(page); //Criamos dados de banda DataBand dataBand = new DataBand(); //com um identificador único dataBand.CreateUniqueName(); //e adicioná-lo à sua coleção de bandas page.Bands.Add(dataBand); // Criamos objeto de código de barras FastReport.Barcode.BarcodeObject barcode = new FastReport.Barcode.BarcodeObject(); //Definimos o tipo de código de barras barcode.Barcode = new FastReport.Barcode.Barcode128(); // Definimos uma combinação numérica para codificação barcode.Text = "(02)14611234567890(37)24"; // Colocamos o código de barras na página barcode.Parent = dataBand; // Definimos as dimensões do objeto barcode.Bounds = new RectangleF(0, 0, Units.Centimeters * 10, Units.Centimeters * 3); // Apresentamos o relatório report.Show(); |
Agora você sabe um pouco mais sobre o código de barras Code-128 e suas variedades A, B, C.