Criamos um código de barras Code-128 (A, B, C) na nossa aplicação

2021-12-22

Code-128

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.

  • 128 A são caracteres ASCII de 00 a 95 (números de "0" a "9", Letras de "a" a "z") e caracteres especiais;
  • 128 B são caracteres ASCII de 32 A 127 (números de "0" a "9", Letras de "A" A "Z" e de "a" a "z"), bem como caracteres especiais;
  • 128 C são caracteres ASCII de 00 a 99 (somente para código numérico).

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

Composição básica do Code 128

Estrutura do Code-128

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

Passando do Code-C para o 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.

Comparação de diferentes códigos de barras

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.

Aplicações

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
 EAN-13  ITF-14  Code-128
 EAN-13  ITF-14  Code-128
 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
(37) é o número de unidades de negociação na carga
24 (no final) é o número de peças por palete

Criamos um código de barras a partir do código no 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
 { 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;

Como criar um código de barras a partir do código no 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
 //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.

.NET VCL Lazarus FastReport Barcode Delphi .NET VCL Lazarus FastReport Barcode Delphi
26 de abril de 2023

How to use RFID tags in FastReport .NET

The new page object is an RFID tag in FastReport.NET allows users to use the library to create labels or maps without third-party programs
20 de abril de 2023

How to update FastReport Online Designer to the latest version

Step-by-step instructions for updating FastReport Online Designer to the latest version via the client panel.
14 de março de 2023

The Future of Report Generation with Blazor WebAssembly

Step-by-step instructions for creating a demo application on .NET 6 and 7 directly in the browser using Blazor WebAssembly in FastReport .NET.
Fast Reports
  • 800-985-8986 (English, US)
  • +31 97 01025-8466 (English, EU)
  • +49 30 56837-3928 (German, DE)
  • +55 19 98147-8148 (Portuguese, BR)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2025 Fast Reports Inc.