Como criar códigos de barras 1D e Lineares

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronBarcode permite gerar todos os principais formatos de código de barras 1D, incluindo Code 128, GS1-128, Code 39, Code 93, EAN-13, EAN-8, UPC-A, UPC-E, Intelligent Mail, MSI, Codabar e DataBar usando código C# simples com validação automática e verificação de conformidade. Você pode explorar a lista completa de formatos de código de barras suportados para encontrar o certo para suas necessidades.

Códigos de barras lineares permanecem o padrão da indústria para transmitir informações. Eles são rápidos, confiáveis e funcionam com quase qualquer scanner. Como esses códigos de barras não exigem processamento de imagem complexo, eles se destacam em ambientes de alta velocidade, como linhas de checkout de varejo e esteiras transportadoras.

O principal desafio é selecionar o formato correto para suas necessidades específicas. Você pode precisar da alta densidade de dados do Code128 para etiquetas de envio, do tamanho compacto do EAN8 para pequenos produtos, ou da formatação estrita do IntelligentMail Barcode para serviços postais. IronBarcode ajuda você a gerar todos esses formatos de forma eficiente e confiável. A biblioteca também suporta vários formatos de dados de saída para integrar-se perfeitamente com seus sistemas existentes.

Este guia aborda como gerar os formatos 1D mais críticos e seus casos de uso comuns com IronBarcode.


Início Rápido: Crie Seu Primeiro Código de Barras 1D

Use a API simples do IronBarcode para criar um código de barras Code128 a partir de uma string e salvá-lo como uma imagem JPEG. Comece imediatamente — forneça os dados, escolha a codificação e o tamanho e escreva seu arquivo de imagem.

  1. Instale IronBarcode com o Gerenciador de Pacotes NuGet

    PM > Install-Package BarCode
  2. Copie e execute este trecho de código.

    IronBarCode.BarcodeWriter.CreateBarcode("HELLO-WORLD-123", BarcodeEncoding.Code128, 250, 100).SaveAsJpeg("MyFirstBarcode.jpg");
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronBarcode em seu projeto hoje com uma avaliação gratuita

    arrow pointer

Como Crio Códigos de Barras 1D e Lineares?

Códigos de barras lineares unidimensionais usam linhas e espaços de largura variável para armazenar dados horizontalmente. Códigos de barras bidimensionais, como códigos QR, usam uma grade de quadrados para manter informações em duas dimensões. Enquanto códigos bidimensionais acomodam mais dados, como URLs ou cartões de contato, códigos de barras unidimensionais são restritos a cadeias alfanuméricas curtas.

Essa simplicidade permite que códigos de barras unidimensionais sejam escaneados mais rapidamente. Isso os torna universalmente compatíveis com scanners a laser padrão, tornando-os ideais para configurações de varejo e logística de alta velocidade. Ao trabalhar com aplicações de escaneamento de alto volume, explore nossas opções de velocidade de leitura para otimizar o desempenho.

Vamos explorar os formatos mais suportados e como criá-los com IronBarcode.

Como Crio Códigos de Barras Code-128?

Códigos de barras Code 128 são comumente usados para logística interna e etiquetas de remessa. Ele suporta toda a gama de caracteres ASCII de 128, tornando-o altamente eficiente em comprimir números padrão e texto em inglês em espaços pequenos. Isso torna o Code 128 ideal para sistemas de gerenciamento de armazém e rastreamento de inventário, onde o espaço é limitado, mas a densidade de dados é crucial.

No entanto, ele não suporta nativamente Unicode ou caracteres não latinos sem extensões adicionais. Ele não pode lidar com caracteres complexos de idiomas como chinês ou árabe e interpretaria os dados incorretamente, levando a uma saída incorreta. Para aplicações que requerem suporte a Unicode, consulte nosso guia sobre escrever códigos de barras Unicode.

Qual Código Preciso?

IronBarcode torna a geração de Code-128 simples: passe BarcodeEncoding.Code128 como o segundo parâmetro ao chamar o método Create, depois exporte como imagem. Saiba mais sobre criação de imagens de código de barras com vários formatos e opções.

:path=/static-assets/barcode/content-code-examples/how-to/create-code-128-barcode.cs
using IronBarCode;

// Specify Code 128 Format
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128);

// Add barcode value text below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save it as JPG
barcode.SaveAsJpeg("code128-sample.jpg");
$vbLabelText   $csharpLabel

Qual é a aparência do resultado?

Exemplo de Saída Code-128

Como Eu Crio Códigos de Barras GSI-128?

GS1-128 é um formato de dados adicional aplicado sobre o Code 128. A principal vantagem do GS1-128 é a interpretação consistente de dados globalmente, eliminando a má interpretação e ambiguidade. Esta padronização é crucial para a gestão da cadeia de suprimentos, onde produtos se movem entre diferentes empresas e países.

No entanto, devido ao formato rigoroso, a falta de um caractere de controle oculto ou comprimento de campo incorreto tornará o código de barras não compatível. Se você encontrar problemas com o formato GS1-128, nosso guia de solução de problemas de GS1-128 pode ajudar a resolver problemas comuns.

Qual Formataro o GSI-128 Requer?

Leitores de códigos de barras usam Identificadores de Aplicação (AI) - prefixos numéricos que identificam as informações no código do produto. Entender esses identificadores é crucial para criar códigos de barras compatíveis que funcionam em toda a cadeia de suprimentos global.

GS1-128 segue esta estrutura de dados de quatro partes:

(Prefixo numérico 01) GTIN (Número Global do Item Comercial): A ID de produto única que identifica o que é o produto. Deve ter exatamente 14 dígitos numéricos. Se o código do seu produto for mais curto, complete com zeros à esquerda. Por exemplo, 123456789012 se torna 00123456789012.

(Prefixo numérico 10) Lote: O número do lote do produto. 1 a 20 caracteres alfanuméricos. Quando colocado no meio do código de barras, requer caractere separador FNC1 para que os leitores saibam onde termina. Nenhum separador necessário se estiver no final do código de barras.

(Prefixo numérico 17) Data de Validade: Data de validade do produto. Fixo em seis dígitos seguindo o formato AAMMDD. Por exemplo, 251231 é 31 de dezembro de 2025. Usa anos de 2 dígitos com janela deslizante para o século.

(Prefixo numérico 21) Número de Série: O número de série do produto que identifica a unidade individual única. Comprimento variável com 1-20 caracteres alfanuméricos.

ObserveApenas o GTIN é obrigatório; lote, vencimento e atributos de série são opcionais.

AvisoEmbora apenas o GTIN seja obrigatório, alguns varejistas têm diretrizes específicas de conformidade. Verifique seus requisitos ao criar códigos de barras.

Como Eu Gero GSI-128 com IronBarcode?

Gerar um código de barras GS1-128 é fácil; passe BarcodeEncoding.Code128GS1 como o segundo parâmetro ao chamar Create.

O exemplo abaixo mostra um valor totalmente compatível com GS1-128 com todos os quatro atributos e o exporta como uma imagem.

ObserveParênteses são obrigatórios para cada prefixo numérico, ou essa seção não será reconhecida como um atributo válido.

ObserveIronBarcode insere automaticamente o separador FNC1 ao criar GSI-128.

:path=/static-assets/barcode/content-code-examples/how-to/create-gsi-128-barcode.cs
using IronBarCode;

// Valid GS1-128 String: GTIN + Expiry + Batch + Serial Number
string gs1Value = "(01)01234567890128(17)251231(10)BATCH001(21)111111";

// Create the barcode
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(gs1Value, BarcodeEncoding.Code128GS1);

// Display the value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("gsi128-sample.jpg");
$vbLabelText   $csharpLabel

Como É a Saída do GSI-128?

Exemplo de Saída GS1-128

Como Corrigir Erros de Formataro GSI-128?

Se a sua string não estiver em conformidade com os padrões GS1-128, o IronBarcode lança uma exceção. Verifique o valor da sua string usando a tabela acima e modifique conforme necessário.

Exceção GS1-128

Como Eu Crio Códigos de Barras Code 39?

Code 39 é um dos primeiros padrões de código de barras alfanuméricos, conhecido por sua confiabilidade. Comum nos setores automotivo e de defesa. Sua capacidade de codificar letras e números sem dígitos de verificação o torna simples para ambientes onde a integridade dos dados é verificada por outros meios.

No entanto, o Code 39 tem um conjunto de caracteres limitado. Ele permite apenas caracteres maiúsculos em inglês, dígitos e símbolos como /, ., -, etc. O modo padrão não suporta minúsculas. Para informações sobre leitura de códigos de barras padrão e estendidos do Code 39, veja nosso guia de leitura Code 39.

Que Código Eu Necessito para Code 39?

Para gerar Code39, passe BarcodeEncoding.Code39 como o segundo parâmetro ao usar Create.

Eis um exemplo:

:path=/static-assets/barcode/content-code-examples/how-to/create-code-39-barcode.cs
using IronBarCode;

// Specify Code39 Format
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("IRON-1234", BarcodeEncoding.Code39);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("code39.jpg");
$vbLabelText   $csharpLabel

Como É a Saída do Code 39?

Exemplo de Saída Code39

Por que estou recebendo erros do Code 39?

Exceção Code39

Se a string não estiver em conformidade com o padrão Code39, o IronBarcode lança esta exceção.

AvisoO IronBarcode atualmente não suporta a geração de códigos de barras Code39 estendidos; apenas a leitura é suportada. Para ler Code39 estendido e padrão, veja nosso tutorial de leitura de Code 39
. )}]

Como crio códigos de barras Code 93?

O Code 93 é uma melhoria do Code 39, comumente usado em logística e rotulagem de componentes eletrônicos onde o espaço é limitado, mas dados alfanuméricos são necessários. A densidade melhorada é adequada para pequenos componentes eletrônicos onde o espaço é importante.

Aceita caracteres ASCII completos, letras maiúsculas em inglês, dígitos e símbolos. Oferece maior densidade que o Code 39.

Que código eu preciso para gerar Code 93?

Para gerar Code93, passe BarcodeEncoding.Code93 como o segundo parâmetro ao usar Create:

:path=/static-assets/barcode/content-code-examples/how-to/create-code-93-barcode.cs
using IronBarCode;

// Valid Input: Uppercase A-Z, 0-9, specific symbols
string code93Value = "ELEC-COMP-99";

// Create Code 93
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(code93Value, BarcodeWriterEncoding.Code93);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("code93.jpg");
$vbLabelText   $csharpLabel

Como é a saída do Code 93?

Exemplo de Saída Code93

Como crio códigos de barras CodaBar?

O Codabar é robusto contra má qualidade de impressão, amplamente usado em bancos de sangue e bibliotecas. A tolerância a erros do formato é ideal para impressoras de baixa qualidade ou desgaste.

Comprimento variável, mas conjunto de caracteres limitado. Contém apenas dígitos (0-9) e símbolos (-, $, :, /, ., +). Os caracteres de início/fim A, B, C, D indicam o começo ou fim. Estes caracteres não podem aparecer no meio do código de barras.

Que código eu preciso para CodaBar?

Para gerar Codabar, passe BarcodeEncoding.Codabar como o segundo parâmetro ao usar Create:

:path=/static-assets/barcode/content-code-examples/how-to/create-codabar-barcode.cs
using IronBarCode;

// Valid Input: Numbers 0-9 and symbols -$:/.+ IronBarcode automatically appends by A, B, C, or D
string codabarValue = "10500200";

// Create Codabar
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(codabarValue, BarcodeWriterEncoding.Codabar);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("codabar.jpg");
$vbLabelText   $csharpLabel

Como é a saída do CodaBar?

Exemplo de Saída Codabar

Por que o CodaBar está lançando erros?

Se a entrada contiver letras, o IronBarcode lança uma exceção indicando que aceita apenas valores numéricos.

Exceção Codabar

Como crio códigos de barras DataBar?

GS1 DataBar (anteriormente RSS-14) é mais compacto, projetado para números de identificação de produtos. Útil para itens pequenos, como produtos frescos, onde os códigos de barras tradicionais ocupam muito espaço. Saiba mais sobre as capacidades dos novos formatos em nossa atualização de marcos de novos formatos.

Como o GS1-128, possui um formato de codificação rigoroso. A variante Omnidirectional contém apenas o atributo de código do produto.

Que formato exige o GS1-DataBar?

(Prefixo numérico-01) GTIN (Número Global de Item Comercial): O ID único do produto. Deve ter exatamente 14 dígitos numéricos.

AvisoO "GS1 DataBar Omnidirectional" padrão pode apenas conter GTIN (01). Use o GS1 DataBar Expanded para atributos adicionais.

Como gero o código GS1 DataBar?

Para gerar GS1 DataBar, passe BarcodeEncoding.DataBar como o segundo parâmetro ao usar Create:

:path=/static-assets/barcode/content-code-examples/how-to/create-gs1-databar-barcode.cs
using IronBarCode;

// Valid Input: Exactly 14 digits (GTIN). IronBarcode will calculate and append the correct check digit
string databarValue = "0123456789012";

// Create GS1 DataBar
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(databarValue, BarcodeWriterEncoding.DataBar);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("databar.jpg");
$vbLabelText   $csharpLabel

Como é a saída do DataBar?

Exemplo de Saída GS1-Databar

Como crio códigos de barras EAN-13?

EAN-13 é o padrão de código de barras utilizado no varejo mundialmente para produtos de consumo—um dos formatos mais amplamente usados. Para aplicações de varejo, explore como customizar o estilo do código de barras para atender aos requisitos da marca.

EAN-13 requer licenciamento rigoroso. Você não pode gerar números EAN-13 para uso público sem licenciar um Prefixo de Empresa GS1 para garantir códigos de barras únicos. Contém apenas 13 dígitos numéricos. Para informações sobre licenciamento, visite nossa página de licenciamento.

EAN-13 tem regras específicas de formatação.

Qual formato o EAN-13 requer?

O código de barras EAN-13 consiste em quatro partes:

Prefixo GS1 (Primeiros 3 Dígitos): Identifica a Organização Membro GS1, tipicamente o país de registro. Exemplos: 000-019 (EUA/Canadá - compatível com UPC), 500-509 (Reino Unido), 450-459 (Japão).

Código do Fabricante: Código de comprimento variável atribuído pelo GS1.

Código do Produto: Atribuído pelo fabricante ao item específico.

Dígito de Verificação (Último Dígito): Calculado a partir dos primeiros 12 usando o algoritmo Módulo 10. Garante uma leitura precisa pelo scanner.

[{w: (Os prefixos 200-299 são reservados para circulação restrita. Não use esses prefixos na produção ao gerar códigos de barras EAN-13.)}]

Como gero o código EAN-13?

Para gerar EAN-13, passe BarcodeEncoding.EAN13 como o segundo parâmetro ao usar Create:

:path=/static-assets/barcode/content-code-examples/how-to/create-ean13-barcode.cs
using IronBarCode;

// Valid Input: 12 digits (library calculates 13th check digit) or full 13 digits.
string ean13Value = "4006381333931";

// Create EAN-13
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(ean13Value, BarcodeWriterEncoding.EAN13);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("ean13.jpg");
$vbLabelText   $csharpLabel

Como é a saída do EAN-13?

Exemplo de Saída EAN-13

Como corrijo erros de formatação do EAN-13?

O IronBarcode lança uma exceção para valores não numéricos.

Solução de Problemas EAN-13

Como crio códigos de barras EAN-8?

EAN-8 é a versão condensada do EAN-13 para pequenos produtos de consumo onde códigos de barras de tamanho completo ocupam muito espaço. Comum em lápis e cosméticos onde o espaço de embalagem é limitado.

Ao contrário do Code 128 ou Code 39, EAN-8 usa prefixos atribuídos específicos em vez de números arbitrários.

EAN-8 usa um formato estrito de 8 dígitos: 7 dígitos de dados e 1 dígito de verificação. Somente numérico.

Qual código preciso para EAN-8?

Criar EAN-8 requer passar BarcodeEncoding.EAN8 para o segundo parâmetro ao usar Create:

:path=/static-assets/barcode/content-code-examples/how-to/create-ean8-barcode.cs
using IronBarCode;

// Valid Input: 7 digits (library calculates 8th check digit).
string ean8Value = "1234567";

// Create EAN-8
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(ean8Value, BarcodeWriterEncoding.EAN8);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("ean8.jpg");
$vbLabelText   $csharpLabel

Como é a saída do EAN-8?

Exemplo de Saída EAN-8

Por que estou recebendo erros de comprimento do EAN-8?

Se a entrada contiver 8+ caracteres numéricos, o IronBarcode lança uma exceção indicando que EAN-8 requer 8 caracteres.

Exceção EAN-8

Como crio códigos de barras Intelligent Mail?

O código de barras Intelligent Mail (IMB) é o padrão do USPS para automação de triagem e rastreamento de correspondências. Ao contrário dos códigos de barras tradicionais modulados por largura, o IMB usa barras moduladas por altura. Obrigatório para descontos de preço de automação em cartas e contentores. Suporta apenas comprimentos numéricos específicos: 20, 25, 29 ou 31 dígitos.

Usa prefixos numéricos específicos para definir informações.

Qual formato o Intelligent Mail requer?

(Primeiros 2 Dígitos) ID do Código de Barras: O Identificador do Código de Barras. Estritamente 2 dígitos numéricos. Normalmente 00 para correspondência comercial padrão.

(Próximos 3 Dígitos) ID do Tipo de Serviço (STID): Define a classe da correspondência (por exemplo, Primeira Classe, Marketing Mail) e os serviços (por exemplo, Correção de Endereço, Rastreamento). Crucial para descontos postais.

(Próximos 6 ou 9 Dígitos) ID do Remetente (MID): Número de 6 ou 9 dígitos atribuído pelo USPS à sua empresa.

(Próximos 6 ou 9 Dígitos) Número de Série: Identifica um objeto de correspondência individual único.

(Últimos 0, 5, 9 ou 11 Dígitos) Código de Roteamento: Código Postal de entrega.

Como gero o código Intelligent Mail?

Para gerar IMB, passe BarcodeEncoding.IntelligentMail como o segundo parâmetro ao chamar Create:

:path=/static-assets/barcode/content-code-examples/how-to/create-imb-barcode.cs
using IronBarCode;

// Valid Input: 20, 25, 29, or 31 digits.
// Format: Barcode ID(2) + Service(3) + Mailer ID(6/9) + Serial(9/6) + Routing Zip(0/5/9/11)
string imbValue = "00270123456200800001";

// Create Intelligent Mail
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(imbValue, BarcodeWriterEncoding.IntelligentMail);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("imb.jpg");
$vbLabelText   $csharpLabel

Como é a saída do Intelligent Mail?

Exemplo de Saída de Intelligent Mail

Como Corrigir Erros de Formataro Intelligent Mail?

IronBarcode lança uma exceção se o formato estiver incorreto. Verifique o valor da string em relação ao formato acima e tente novamente após a modificação.

Exceção de Intelligent Mail

Como Criar Códigos de Barras MSI?

MSI é comum em etiquetas de prateleira de varejo e controle de inventário de armazém, raramente em produtos de consumo. Sua simplicidade e confiabilidade o tornam popular para operações internas. Para problemas de reconhecimento de MSI, consulte nosso guia de solução de problemas de códigos de barras MSI.

MSI é somente numérico; não são permitidas letras ou símbolos. Comprimento variável, normalmente de 10 a 15 dígitos.

Que Código Eu Preciso para MSI?

Para gerar MSI, passe BarcodeEncoding.MSI como o segundo parâmetro ao chamar Create:

:path=/static-assets/barcode/content-code-examples/how-to/create-msi-barcode.cs
using IronBarCode;

// Valid Input: Numeric digits only. Variable length.
string msiValue = "1234567890";

// Create MSI
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(msiValue, BarcodeWriterEncoding.MSI);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("msi.jpg");
$vbLabelText   $csharpLabel

Como é a Saída do MSI?

Exemplo de Saída MSI

Como Criar Códigos de Barras UPC-A?

UPC-A é o código de barras de varejo padrão para Estados Unidos e Canadá. Um subconjunto de 12 dígitos do EAN-13. Mais comum em produtos em supermercados da América do Norte. A ampla adoção o torna essencial para os mercados norte-americanos.

Como o EAN-13, geralmente é atribuído em vez de gerado.

UPC-A contém exatamente 12 dígitos numéricos. Não são aceitas letras.

Que Formataro o UPC-A Requer?

Caractere do Sistema de Numeração (1): Identifica o tipo de produto (0, 1, 6, 7, 8 para varejo padrão; 2 para peso aleatório; 3 para medicamentos; 5 para cupons).

Código do Fabricante (5): Atribuído pela GS1.

Código do Produto (5): Atribuído pelo fabricante.

Dígito de Verificação (1): Calculado com checagem de módulo 10.

Como Gerar Código UPC-A?

Para gerar UPC-A, passe BarcodeEncoding.UPCA como o segundo parâmetro ao chamar Create:

:path=/static-assets/barcode/content-code-examples/how-to/create-upc-a-barcode.cs
using IronBarCode;

// Valid Input: 11 digits (library calculates 12th check digit) or full 12 digits
string upcaValue = "01234567890";

// Create UPC-A
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(upcaValue, BarcodeWriterEncoding.UPCA);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG
barcode.SaveAsJpeg("upca.jpg");
$vbLabelText   $csharpLabel

Como é a Saída do UPC-A?

Exemplo de Saída UPC-A

Por Que Estou Recebendo Erros de Comprimento de UPC-A?

IronBarcode lança um erro se o valor numérico ultrapassar 13 em comprimento.

Exceção de UPC-A

Como Criar Códigos de Barras UPC-E?

UPC-E é a versão compacta do UPC-A para embalagens de varejo pequenas, como latas de refrigerante, onde um UPC-A de 12 dígitos é muito grande. O algoritmo de compressão codifica a mesma informação em aproximadamente metade do espaço.

Como o UPC-A, é estritamente numérico. Não são aceitas letras ou símbolos.

Que Código Eu Preciso para UPC-E?

Para gerar UPC-E, passe BarcodeEncoding.UPCE como o segundo parâmetro ao chamar Create:

:path=/static-assets/barcode/content-code-examples/how-to/create-upc-e-barcode.cs
using IronBarCode;

// Valid input: 8 digits or less in which the last digit is a check digit
// IronBarcode automatically calculates the check digit if only 7 digits are provided.
string upceValue = "0123456";

// Create UPC-E
GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(upceValue, BarcodeWriterEncoding.UPCE);

// Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode();

// Save as a JPG file
barcode.SaveAsJpeg("upce.jpg");
$vbLabelText   $csharpLabel

Como é a Saída do UPC-E?

Exemplo de Saída UPC-E

Como Corrigir Erros de Comprimento de UPC-E?

IronBarcode lança um erro se os dígitos numéricos excederem 8.

Solução de Problemas de UPC-E

Quais são os diferentes tipos de código de barras 1D?

Nome Formatar Uso Comum Restrições e Armadilhas
**Code 128** **Alfanumérico**
Suporte completo para ASCII 128. Comprimento variável. Alta densidade.
Logística interna, etiquetas de envio, rastreamento de ativos, cartões de identificação.
  • **Sem Unicode:** Não pode codificar nativamente caracteres especiais (como Chinês ou Emojis) sem quebrar a compatibilidade do scanner.
  • **Qualidade da Impressora:** Requer alta resolução; impressão térmica de baixa DPI pode causar problemas de legibilidade.
**GS1-128** **Alfanumérico Estruturado**
Code 128 com `FNC1` líder + Identificadores de Aplicação (por exemplo, `(01)`).
Cadeia de suprimento global (Walmart/Amazon), etiquetas de pallets, EDI.
  • **FNC1 ausente:** Deve começar com o caractere `FNC1` invisível ou os scanners o lerão como texto bruto.
  • **Parênteses:** Não codifique o `()` ao redor dos AIs; eles são apenas para leitura humana.
**Code 39** **Alfanumérico (Restrito)**
Maiúsculas A-Z, 0-9, e `-. $ / + % espaço`.
Automotivo (AIAG), Defesa (LOGMARS), IDs industriais legados.
  • **Sem Minúsculas:** O modo padrão falha se você digitar 'a'. O modo estendido suporta, mas requer configuração específica do scanner.
  • **Baixa Densidade:** Produz códigos de barras muito largos, não adequado para etiquetas pequenas.
**Code 93** **Alfanumérico**
Similar ao Code 39, mas com maior densidade.
Eletrônicos (PCBs), Correios do Canadá, e fabricação interna.
  • **Dígitos de Verificação:** Exige dois dígitos de verificação obrigatórios (C e K). Não calcule manualmente; deixe a biblioteca fazer.
  • **Suporte ao Scanner:** Muitas vezes desativado por padrão nos scanners para evitar conflitos com o Code 39.
**Codabar** **Numérico + Símbolos**
0-9 e `- $ : /. +`. Início/Parada: A, B, C, D.
Bancos de sangue, bibliotecas, notas aéreas da FedEx (Legado).
  • **Leituras Curtas:** Propenso a erros onde um scanner lê um código parcial (por exemplo, lendo '123' de '12345').
  • **Sem Letras:** Não pode codificar letras de dados, apenas A-D como delimitadores.
**GS1 DataBar** **Numérico (14 Dígitos)**
Codifica apenas GTIN-14. Extremamente compacto.
Produtos a granel (adesivos de frutas), pequenos cosméticos e frascos de saúde.
  • **Sem Atributos:** A versão padrão Omnidirecional não pode conter dados de validade ou lote (requer versão Expandida).
  • **Entrada Estrita:** Deve ter exatamente 14 dígitos.
**EAN-13** **Numérico (13 Dígitos)**
País + Fab. + Produto + Dígito de Verificação.
Ponto de Venda Global de Varejo (Supermercados).
  • **Licenciamento:** Requer um Prefixo de Empresa pago pela GS1.
  • **Prefixes Restritos:** Prefixos 200-299 são apenas para uso interno e não funcionarão na cadeia de suprimento global.
**EAN-8** **Numérico (8 Dígitos)**
7 Dados + 1 Dígito de Verificação.
Pacotes de varejo pequenos (chiclete, lápis).
  • **Disponibilidade:** Difícil de obter; GS1 só emite se o produto for fisicamente pequeno demais para EAN-13.
  • **Comprimento de Entrada:** Deve ser exatamente 7 ou 8 dígitos.
**Intelligent Mail** **Numérico (20, 25, 29, 31 Dígitos)**
Barras moduladas por altura (4 estados).
Classificação e Automação de Correspondência do USPS.
  • **Comprimentos Estritos:** A entrada deve corresponder exatamente aos campos do USPS (ID do Código de Barras, STID, MID, Serial, CEP).
  • **STID '234':** Não use este ID de exemplo na produção; pode resultar em correspondência rejeitada ou descontos perdidos.
**MSI (Plessey)** **Apenas Numérico**
Comprimento variável.
Etiquetas de prateleira de varejo, caixas de depósito.
  • **Confusão de Checksum:** Suporta Mod 10, Mod 11, Mod 1010, etc. Você deve saber exatamente qual o seu scanner espera.
  • **Confiabilidade:** Taxa de leitura pobre comparada aos códigos modernos.
**UPC-A** **Numérico (12 Dígitos)**
11 Dados + 1 Dígito de Verificação.
Ponto de Venda de Varejo na América do Norte.
  • **Região:** Principalmente EUA/Canadá. Vendedores globais devem usar EAN-13.
  • **Zeros à Esquerda:** Tecnicamente, um EAN-13 começando com 0.
**UPC-E** **Numérico (6 Dígitos)**
Formataro Compactado.
Pequenas embalagens de varejo (Latas de refrigerante) nos EUA/Canadá.
  • **Regras de Compressão:** Você não pode simplesmente "converter" qualquer UPC-A. Seu número deve ter um padrão específico de zeros para ser compressível.
  • **Sistema de Numeração:** Suporta apenas o Sistema de Numeração 0 ou 1.

Perguntas frequentes

Que tipos de códigos de barras 1D podem ser gerados?

O IronBarcode pode gerar todos os principais formatos de código de barras 1D, incluindo Code 128, GS1-128, Code 39, Code 93, EAN-13, EAN-8, UPC-A, UPC-E, Intelligent Mail, MSI, Codabar e DataBar. Cada formato é adequado para diferentes aplicações: Code 128 para etiquetas de envio, EAN-8 para produtos pequenos e Intelligent Mail para serviços postais.

Como faço para criar um código de barras 1D básico em C#?

Para criar um código de barras 1D com o IronBarcode, use o método BarcodeWriter.CreateBarcode() com sua string de dados e especifique o tipo de código de barras usando a enumeração BarcodeEncoding. Por exemplo: GeneratedBarcode barcode = BarcodeWriter.CreateBarcode("HELLO-WORLD-123", BarcodeEncoding.Code128);

Quais formatos de saída são suportados para salvar códigos de barras?

O IronBarcode permite salvar códigos de barras gerados em vários formatos, incluindo JPEG, PNG e PDF. Você pode usar métodos como SaveAsJpeg(), SaveAsPng() ou outros métodos SaveAs para exportar seu código de barras no formato desejado.

Posso personalizar o tamanho e a aparência dos códigos de barras gerados?

Sim, o IronBarcode permite personalizar as dimensões do código de barras usando o método ResizeTo(). Você também pode aplicar estilos opcionais, como tamanho da fonte e margens, para garantir que o código de barras atenda às suas necessidades específicas.

A biblioteca inclui validação automática para formatos de código de barras?

O IronBarcode inclui validação automática e verificação de conformidade para todos os formatos de código de barras suportados. Isso garante que os códigos de barras gerados atendam aos padrões da indústria e possam ser lidos por leitores de código de barras padrão.

Por que devo usar códigos de barras lineares em vez de códigos de barras 2D?

Os códigos de barras lineares continuam sendo o padrão da indústria por serem rápidos, confiáveis e compatíveis com praticamente qualquer leitor. Como não exigem processamento de imagem complexo, os códigos de barras lineares da IronBarcode se destacam em ambientes de alta velocidade, como caixas de supermercado e esteiras transportadoras.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais
Pronto para começar?
Nuget Downloads 2,108,094 | Versão: 2026.3 acaba de ser lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package BarCode
executar um exemplo Veja seu fio se transformar em um código de barras.