# Como criar códigos de barras 1D e Lineares
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](https://ironsoftware.com/csharp/barcode/get-started/supported-barcode-formats/) 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 de `Code128` para etiquetas de envio, do tamanho compacto de `EAN8` para pequenos produtos, ou do formato rígido do Código de Barras `IntelligentMail` 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](https://ironsoftware.com/csharp/barcode/how-to/output-data-formats/) 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.
<hr />
*as-heading:2(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.
```cs
:title=Generate 1D Barcode Instantly
IronBarCode.BarcodeWriter.CreateBarcode("HELLO-WORLD-123", BarcodeEncoding.Code128, 250, 100).SaveAsJpeg("MyFirstBarcode.jpg");
```
<div class="hsg-featured-snippet">
<h2>Como Criar Códigos de Barras 1D e Lineares com IronBarcode</h2>
<ol>
<li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://www.nuget.org/packages/BarCode/">Baixe a biblioteca C# do IronBarcode para criar códigos de barras</a></li>
<li>Gere um código de barras com um valor de string com <code>CreateBarcode</code></li>
<li>Especifique o tipo de código de barras com <code>BarcodeEncoding</code></li>
<li>Salve o código de barras como uma imagem ou outro formato com <code>SaveAsJpeg</code></li>
</ol>
</div>
## 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](https://ironsoftware.com/csharp/barcode/how-to/reading-speed-options/) 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](https://ironsoftware.com/csharp/barcode/how-to/writing-in-unicode/).
#### Qual Código Preciso?
IronBarcode torna a geração de Code-128 direta: passe `BarcodeEncoding.Code128` como o segundo parâmetro ao chamar o método `Create`, em seguida, exporte como uma imagem. Saiba mais sobre [criação de imagens de código de barras](https://ironsoftware.com/csharp/barcode/how-to/create-barcode-images/) com vários formatos e opções.
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-code-128-barcode.cs
```
#### Qual é a aparência do resultado?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/code128-sample.webp" alt="Exemplo de Saída Code-128" class="img-responsive add-shadow" />
</div>
</div>
### 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](https://ironsoftware.com/csharp/barcode/troubleshooting/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 torna-se 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.
[[i:(Apenas o GTIN é obrigatório; lote, vencimento e atributos de série são opcionais.)]]
[[w:(Embora 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.
[[i:(Parênteses são obrigatórios para cada prefixo numérico, ou essa seção não será reconhecida como um atributo válido.)]]
[[i:(IronBarcode insere automaticamente o separador **FNC1** ao criar GSI-128.)]]
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-gsi-128-barcode.cs
```
#### Como É a Saída do GSI-128?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/gsi128.webp" alt="Exemplo de Saída GS1-128" class="img-responsive add-shadow" />
</div>
</div>
#### 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.
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/gsi-128-error.webp" alt="Exceção GS1-128" class="img-responsive add-shadow" />
</div>
</div>
### 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](https://ironsoftware.com/csharp/barcode/how-to/read-code39-barcodes/).
#### 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:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-code-39-barcode.cs
```
#### Como É a Saída do Code 39?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/code39.webp" alt="Exemplo de Saída Code39" class="img-responsive add-shadow" />
</div>
</div>
#### Por que estou recebendo erros do Code 39?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/code39-error.webp" alt="Exceção Code39" class="img-responsive add-shadow" />
</div>
</div>
Se a string não estiver em conformidade com o padrão Code39, o IronBarcode lança esta exceção.
[[w:(O 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](https://ironsoftware.com/csharp/barcode/how-to/read-code39-barcodes/))]].
)}]
### 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`:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-code-93-barcode.cs
```
#### Como é a saída do Code 93?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/code93.webp" alt="Exemplo de Saída Code93" class="img-responsive add-shadow" />
</div>
</div>
### 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`:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-codabar-barcode.cs
```
#### Como é a saída do CodaBar?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/codabar.webp" alt="Exemplo de Saída Codabar" class="img-responsive add-shadow" />
</div>
</div>
#### 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.
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/codabar-error.webp" alt="Exceção Codabar" class="img-responsive add-shadow" />
</div>
</div>
### 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](https://ironsoftware.com/csharp/barcode/product-updates/milestones-new-formats/).
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.
[[w:(O "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`:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-gs1-databar-barcode.cs
```
#### Como é a saída do DataBar?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/databar.webp" alt="Exemplo de Saída GS1-Databar" class="img-responsive add-shadow" />
</div>
</div>
### 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](https://ironsoftware.com/csharp/barcode/how-to/customize-barcode-style/) 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](https://ironsoftware.com/csharp/barcode/licensing/).
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 pela 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`:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-ean13-barcode.cs
```
#### Como é a saída do EAN-13?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/ean13.webp" alt="Exemplo de Saída EAN-13" class="img-responsive add-shadow" />
</div>
</div>
#### Como corrijo erros de formatação do EAN-13?
O IronBarcode lança uma exceção para valores não numéricos.
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/ean13-error.webp" alt="Solução de Problemas EAN-13" class="img-responsive add-shadow" />
</div>
</div>
### 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`:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-ean8-barcode.cs
```
#### Como é a saída do EAN-8?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/ean8.webp" alt="Exemplo de Saída EAN-8" class="img-responsive add-shadow" />
</div>
</div>
#### 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.
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/ean8-error.webp" alt="Exceção EAN-8" class="img-responsive add-shadow" />
</div>
</div>
### 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`:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-imb-barcode.cs
```
#### Como é a saída do Intelligent Mail?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/imb.webp" alt="Exemplo de Saída de Intelligent Mail" class="img-responsive add-shadow" />
</div>
</div>
#### 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.
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/imb-error.webp" alt="Exceção de Intelligent Mail" class="img-responsive add-shadow" />
</div>
</div>
### 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](https://ironsoftware.com/csharp/barcode/troubleshooting/could-not-recognize-msi-barcode/).
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`:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-msi-barcode.cs
```
#### Como é a Saída do MSI?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/msi.webp" alt="Exemplo de Saída MSI" class="img-responsive add-shadow" />
</div>
</div>
### 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`:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-upc-a-barcode.cs
```
#### Como é a Saída do UPC-A?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/upca.webp" alt="Exemplo de Saída UPC-A" class="img-responsive add-shadow" />
</div>
</div>
#### Por Que Estou Recebendo Erros de Comprimento de UPC-A?
IronBarcode lança um erro se o valor numérico ultrapassar 13 em comprimento.
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/upca-error.webp" alt="Exceção de UPC-A" class="img-responsive add-shadow" />
</div>
</div>
### 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 Soda PDF, 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`:
```cs
:path=/static-assets/barcode/content-code-examples/how-to/create-upc-e-barcode.cs
```
#### Como é a Saída do UPC-E?
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/upce.webp" alt="Exemplo de Saída UPC-E" class="img-responsive add-shadow" />
</div>
</div>
#### Como Corrigir Erros de Comprimento de UPC-E?
IronBarcode lança um erro se os dígitos numéricos excederem 8.
<div class="content-img-align-center">
<div class="center-image-wrapper" style="width=50%">
<img src="/static-assets/barcode/how-to/create-1d-barcodes/upce-error.webp" alt="Solução de Problemas de UPC-E" class="img-responsive add-shadow" />
</div>
</div>
## Quais são os diferentes tipos de código de barras 1D?
<table border="1" cellspacing="0" cellpadding="8" class="table table__configuration-variables" style="border-collapse: collapse; width: 100%; font-family: Arial, sans-serif; margin: 16px 0;">
<thead>
<tr style="background-color: #f2f2f2;">
<th style="width: 15%; text-align: left; border: 1px solid #ddd; padding: 12px;">Nome</th>
<th style="width: 25%; text-align: left; border: 1px solid #ddd; padding: 12px;">Formatar</th>
<th style="width: 25%; text-align: left; border: 1px solid #ddd; padding: 12px;">Uso Comum</th>
<th style="width: 35%; text-align: left; border: 1px solid #ddd; padding: 12px;">Restrições e Armadilhas</th>
</tr>
</thead>
<tbody>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Código 128</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Alfanumérico</strong><br />Suporte completo para ASCII 128. Comprimento variável. Alta densidade.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Logística interna, etiquetas de envio, rastreamento de ativos, cartões de identificação.</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Sem Unicode:</strong> Não pode codificar nativamente caracteres especiais (como Chinês ou Emojis) sem quebrar a compatibilidade do scanner.</li>
<li><strong>Qualidade da Impressora:</strong> Requer alta resolução; impressão térmica de baixa DPI pode causar problemas de legibilidade.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>GS1-128</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Alfanumérico Estruturado</strong><br />Code 128 com <code>FNC1</code> líder + Identificadores de Aplicação (por exemplo, <code>(01)</code>).</td>
<td style="border: 1px solid #ddd; padding: 12px;">Cadeia de suprimento global (Walmart/Amazon), etiquetas de pallets, EDI.</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>FNC1 ausente:</strong> Deve começar com o caractere <code>FNC1</code> invisível ou os scanners o lerão como texto bruto.</li>
<li><strong>Parênteses:</strong> Não codifique o <code>()</code> ao redor dos AIs; eles são apenas para leitura humana.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Código 39</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Alfanumérico (Restrito)</strong><br />Maiúsculas A-Z, 0-9, e <code>-. $ / + % espaço</code>.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Automotivo (AIAG), Defesa (LOGMARS), IDs industriais legados.</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Sem Minúsculas:</strong> O modo padrão falha se você digitar 'a'. O modo estendido suporta, mas requer configuração específica do scanner.</li>
<li><strong>Baixa Densidade:</strong> Produz códigos de barras muito largos, não adequado para etiquetas pequenas.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Código 93</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Alfanumérico</strong><br />Similar ao Code 39, mas com maior densidade.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Eletrônicos (PCBs), Correios do Canadá, e fabricação interna.</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Dígitos de Verificação:</strong> Exige dois dígitos de verificação obrigatórios (C e K). Não calcule manualmente; deixe a biblioteca fazer.</li>
<li><strong>Suporte ao Scanner:</strong> Muitas vezes desativado por padrão nos scanners para evitar conflitos com o Code 39.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Codabar</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Numérico + Símbolos</strong><br />0-9 e <code>- $ : /. +</code>. Início/Parada: A, B, C, D.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Bancos de sangue, bibliotecas, notas aéreas da FedEx (Legado).</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Leituras Curtas:</strong> Propenso a erros onde um scanner lê um código parcial (por exemplo, lendo '123' de '12345').</li>
<li><strong>Sem Letras:</strong> Não pode codificar letras de dados, apenas A-D como delimitadores.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>GS1 DataBar</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Numérico (14 Dígitos)</strong><br />Codifica apenas GTIN-14. Extremamente compacto.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Produtos a granel (adesivos de frutas), pequenos cosméticos e frascos de saúde.</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Sem Atributos:</strong> A versão padrão Omnidirecional não pode conter dados de validade ou lote (requer versão Expandida).</li>
<li><strong>Entrada Estrita:</strong> Deve ter exatamente 14 dígitos.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>EAN-13</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Numérico (13 Dígitos)</strong><br />País + Fab. + Produto + Dígito de Verificação.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Ponto de Venda Global de Varejo (Supermercados).</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Licenciamento:</strong> Requer um Prefixo de Empresa pago pela GS1.</li>
<li><strong>Prefixes Restritos:</strong> Prefixos 200-299 são apenas para uso interno e não funcionarão na cadeia de suprimento global.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>EAN-8</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Numérico (8 Dígitos)</strong><br />7 Dados + 1 Dígito de Verificação.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Pacotes de varejo pequenos (chiclete, lápis).</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Disponibilidade:</strong> Difícil de obter; GS1 só emite se o produto for fisicamente pequeno demais para EAN-13.</li>
<li><strong>Comprimento de Entrada:</strong> Deve ser exatamente 7 ou 8 dígitos.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Correio Inteligente</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Numérico (20, 25, 29, 31 Dígitos)</strong><br />Barras moduladas por altura (4 estados).</td>
<td style="border: 1px solid #ddd; padding: 12px;">Classificação e Automação de Correspondência do USPS.</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Comprimentos Estritos:</strong> A entrada deve corresponder exatamente aos campos do USPS (ID do Código de Barras, STID, MID, Serial, CEP).</li>
<li><strong>STID '234':</strong> Não use este ID de exemplo na produção; pode resultar em correspondência rejeitada ou descontos perdidos.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>MSI (Plessey)</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Apenas Numérico</strong><br />Comprimento variável.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Etiquetas de prateleira de varejo, caixas de depósito.</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Confusão de Checksum:</strong> Suporta Mod 10, Mod 11, Mod 1010, etc. Você deve saber exatamente qual o seu scanner espera.</li>
<li><strong>Confiabilidade:</strong> Taxa de leitura pobre comparada aos códigos modernos.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>UPC-A</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Numérico (12 Dígitos)</strong><br />11 Dados + 1 Dígito de Verificação.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Ponto de Venda de Varejo na América do Norte.</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Região:</strong> Principalmente EUA/Canadá. Vendedores globais devem usar EAN-13.</li>
<li><strong>Zeros à Esquerda:</strong> Tecnicamente, um EAN-13 começando com 0.</li>
</ul>
</td>
</tr>
<tr>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>UPC-E</strong></td>
<td style="border: 1px solid #ddd; padding: 12px;"><strong>Numérico (6 Dígitos)</strong><br />Formataro Compactado.</td>
<td style="border: 1px solid #ddd; padding: 12px;">Pequenas embalagens de varejo (Latas de Soda PDF) nos EUA/Canadá.</td>
<td style="border: 1px solid #ddd; padding: 12px;">
<ul>
<li><strong>Regras de Compressão:</strong> 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.</li>
<li><strong>Sistema de Numeração:</strong> Suporta apenas o Sistema de Numeração 0 ou 1.</li>
</ul>
</td>
</tr>
</tbody>
</table>
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 de Code128 para etiquetas de envio, do tamanho compacto de EAN8 para pequenos produtos, ou do formato rígido do Código de Barras IntelligentMail 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.
Gere um código de barras com um valor de string com CreateBarcode
Especifique o tipo de código de barras com BarcodeEncoding
Salve o código de barras como uma imagem ou outro formato com SaveAsJpeg
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 direta: passe BarcodeEncoding.Code128 como o segundo parâmetro ao chamar o método Create, em seguida, exporte como uma imagem. Saiba mais sobre criação de imagens de código de barras com vários formatos e opções.
using IronBarCode;// Specify Code 128 FormatGeneratedBarcode barcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128);// Add barcode value text below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save it as JPGbarcode.SaveAsJpeg("code128-sample.jpg");
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");
ImportsIronBarCode' Specify Code 128 FormatDim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode("https://ironsoftware.com/csharp/barcode/", BarcodeEncoding.Code128)' Add barcode value text below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save it as JPGbarcode.SaveAsJpeg("code128-sample.jpg")
Imports IronBarCode
' Specify Code 128 Format
Dim barcode As GeneratedBarcode = 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")
Qual é a aparência do resultado?
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 torna-se 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.
Observe: Apenas o GTIN é obrigatório; lote, vencimento e atributos de série são opcionais.
Aviso: Embora 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.
Observe: Parênteses são obrigatórios para cada prefixo numérico, ou essa seção não será reconhecida como um atributo válido.
Observe: IronBarcode insere automaticamente o separador FNC1 ao criar GSI-128.
using IronBarCode;// Valid GS1-128 String: GTIN + Expiry + Batch + Serial Numberstring gs1Value = "(01)01234567890128(17)251231(10)BATCH001(21)111111";// Create the barcodeGeneratedBarcode barcode = BarcodeWriter.CreateBarcode(gs1Value, BarcodeEncoding.Code128GS1);// Display the value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("gsi128-sample.jpg");
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");
ImportsIronBarCode' Valid GS1-128 String: GTIN + Expiry + Batch + Serial NumberDim gs1Value AsString = "(01)01234567890128(17)251231(10)BATCH001(21)111111"' Create the barcodeDim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(gs1Value, BarcodeEncoding.Code128GS1)' Display the value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("gsi128-sample.jpg")
Imports IronBarCode
' Valid GS1-128 String: GTIN + Expiry + Batch + Serial Number
Dim gs1Value As String = "(01)01234567890128(17)251231(10)BATCH001(21)111111"
' Create the barcode
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(gs1Value, BarcodeEncoding.Code128GS1)
' Display the value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("gsi128-sample.jpg")
Como É a Saída do GSI-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.
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:
using IronBarCode;// Specify Code39 FormatGeneratedBarcode barcode = BarcodeWriter.CreateBarcode("IRON-1234", BarcodeEncoding.Code39);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("code39.jpg");
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");
ImportsIronBarCode' Specify Code39 FormatDim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode("IRON-1234", BarcodeEncoding.Code39)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("code39.jpg")
Imports IronBarCode
' Specify Code39 Format
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode("IRON-1234", BarcodeEncoding.Code39)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("code39.jpg")
Como É a Saída do Code 39?
Por que estou recebendo erros do Code 39?
Se a string não estiver em conformidade com o padrão Code39, o IronBarcode lança esta exceção.
Aviso: O 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:
using IronBarCode;// Valid Input: Uppercase A-Z, 0-9, specific symbolsstring code93Value = "ELEC-COMP-99";// Create Code 93GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(code93Value, BarcodeWriterEncoding.Code93);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("code93.jpg");
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");
ImportsIronBarCode' Valid Input: Uppercase A-Z, 0-9, specific symbolsDim code93Value AsString = "ELEC-COMP-99"' Create Code 93Dim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(code93Value, BarcodeWriterEncoding.Code93)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("code93.jpg")
Imports IronBarCode
' Valid Input: Uppercase A-Z, 0-9, specific symbols
Dim code93Value As String = "ELEC-COMP-99"
' Create Code 93
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(code93Value, BarcodeWriterEncoding.Code93)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("code93.jpg")
Como é a saída do Code 93?
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:
using IronBarCode;// Valid Input: Numbers 0-9 and symbols -$:/.+ IronBarcode automatically appends by A, B, C, or Dstring codabarValue = "10500200";// Create CodabarGeneratedBarcode barcode = BarcodeWriter.CreateBarcode(codabarValue, BarcodeWriterEncoding.Codabar);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("codabar.jpg");
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");
ImportsIronBarCode' Valid Input: Numbers 0-9 and symbols -$:/.+ IronBarcode automatically appends by A, B, C, or DDim codabarValue AsString = "10500200"' Create CodabarDim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(codabarValue, BarcodeWriterEncoding.Codabar)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("codabar.jpg")
Imports IronBarCode
' Valid Input: Numbers 0-9 and symbols -$:/.+ IronBarcode automatically appends by A, B, C, or D
Dim codabarValue As String = "10500200"
' Create Codabar
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(codabarValue, BarcodeWriterEncoding.Codabar)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("codabar.jpg")
Como é a saída do 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.
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.
Aviso: O "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:
using IronBarCode;// Valid Input: Exactly 14 digits (GTIN). IronBarcode will calculate and append the correct check digitstring databarValue = "0123456789012";// Create GS1 DataBarGeneratedBarcode barcode = BarcodeWriter.CreateBarcode(databarValue, BarcodeWriterEncoding.DataBar);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("databar.jpg");
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");
ImportsIronBarCode' Valid Input: Exactly 14 digits (GTIN). IronBarcode will calculate and append the correct check digitDim databarValue AsString = "0123456789012"' Create GS1 DataBarDim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(databarValue, BarcodeWriterEncoding.DataBar)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("databar.jpg")
Imports IronBarCode
' Valid Input: Exactly 14 digits (GTIN). IronBarcode will calculate and append the correct check digit
Dim databarValue As String = "0123456789012"
' Create GS1 DataBar
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(databarValue, BarcodeWriterEncoding.DataBar)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("databar.jpg")
Como é a saída do 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 pela 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:
using IronBarCode;// Valid Input: 12 digits (library calculates 13th check digit) or full 13 digits.string ean13Value = "4006381333931";// Create EAN-13GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(ean13Value, BarcodeWriterEncoding.EAN13);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("ean13.jpg");
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");
ImportsIronBarCode' Valid Input: 12 digits (library calculates 13th check digit) or full 13 digits.Dim ean13Value AsString = "4006381333931"' Create EAN-13Dim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(ean13Value, BarcodeWriterEncoding.EAN13)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("ean13.jpg")
Imports IronBarCode
' Valid Input: 12 digits (library calculates 13th check digit) or full 13 digits.
Dim ean13Value As String = "4006381333931"
' Create EAN-13
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(ean13Value, BarcodeWriterEncoding.EAN13)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("ean13.jpg")
Como é a saída do EAN-13?
Como corrijo erros de formatação do EAN-13?
O IronBarcode lança uma exceção para valores não numéricos.
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:
using IronBarCode;// Valid Input: 7 digits (library calculates 8th check digit).string ean8Value = "1234567";// Create EAN-8GeneratedBarcode barcode = BarcodeWriter.CreateBarcode(ean8Value, BarcodeWriterEncoding.EAN8);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("ean8.jpg");
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");
ImportsIronBarCode' Valid Input: 7 digits (library calculates 8th check digit).Dim ean8Value AsString = "1234567"' Create EAN-8Dim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(ean8Value, BarcodeWriterEncoding.EAN8)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("ean8.jpg")
Imports IronBarCode
' Valid Input: 7 digits (library calculates 8th check digit).
Dim ean8Value As String = "1234567"
' Create EAN-8
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(ean8Value, BarcodeWriterEncoding.EAN8)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("ean8.jpg")
Como é a saída do 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.
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:
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 MailGeneratedBarcode barcode = BarcodeWriter.CreateBarcode(imbValue, BarcodeWriterEncoding.IntelligentMail);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("imb.jpg");
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");
ImportsIronBarCode' 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)Dim imbValue AsString = "00270123456200800001"' Create Intelligent MailDim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(imbValue, BarcodeWriterEncoding.IntelligentMail)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("imb.jpg")
Imports 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)
Dim imbValue As String = "00270123456200800001"
' Create Intelligent Mail
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(imbValue, BarcodeWriterEncoding.IntelligentMail)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("imb.jpg")
Como é a saída do 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.
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:
using IronBarCode;// Valid Input: Numeric digits only. Variable length.string msiValue = "1234567890";// Create MSIGeneratedBarcode barcode = BarcodeWriter.CreateBarcode(msiValue, BarcodeWriterEncoding.MSI);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("msi.jpg");
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");
ImportsIronBarCode' Valid Input: Numeric digits only. Variable length.Dim msiValue AsString = "1234567890"' Create MSIDim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(msiValue, BarcodeWriterEncoding.MSI)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("msi.jpg")
Imports IronBarCode
' Valid Input: Numeric digits only. Variable length.
Dim msiValue As String = "1234567890"
' Create MSI
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(msiValue, BarcodeWriterEncoding.MSI)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("msi.jpg")
Como é a Saída do 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:
using IronBarCode;// Valid Input: 11 digits (library calculates 12th check digit) or full 12 digitsstring upcaValue = "01234567890";// Create UPC-AGeneratedBarcode barcode = BarcodeWriter.CreateBarcode(upcaValue, BarcodeWriterEncoding.UPCA);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPGbarcode.SaveAsJpeg("upca.jpg");
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");
ImportsIronBarCode' Valid Input: 11 digits (library calculates 12th check digit) or full 12 digitsDim upcaValue AsString = "01234567890"' Create UPC-ADim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(upcaValue, BarcodeWriterEncoding.UPCA)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPGbarcode.SaveAsJpeg("upca.jpg")
Imports IronBarCode
' Valid Input: 11 digits (library calculates 12th check digit) or full 12 digits
Dim upcaValue As String = "01234567890"
' Create UPC-A
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(upcaValue, BarcodeWriterEncoding.UPCA)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG
barcode.SaveAsJpeg("upca.jpg")
Como é a Saída do 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.
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 Soda PDF, 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:
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-EGeneratedBarcode barcode = BarcodeWriter.CreateBarcode(upceValue, BarcodeWriterEncoding.UPCE);// Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode();// Save as a JPG filebarcode.SaveAsJpeg("upce.jpg");
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");
ImportsIronBarCode' 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.Dim upceValue AsString = "0123456"' Create UPC-EDim barcode AsGeneratedBarcode = BarcodeWriter.CreateBarcode(upceValue, BarcodeWriterEncoding.UPCE)' Stamp barcode value below the barcodebarcode.AddBarcodeValueTextBelowBarcode()' Save as a JPG filebarcode.SaveAsJpeg("upce.jpg")
Imports 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.
Dim upceValue As String = "0123456"
' Create UPC-E
Dim barcode As GeneratedBarcode = BarcodeWriter.CreateBarcode(upceValue, BarcodeWriterEncoding.UPCE)
' Stamp barcode value below the barcode
barcode.AddBarcodeValueTextBelowBarcode()
' Save as a JPG file
barcode.SaveAsJpeg("upce.jpg")
Como é a Saída do UPC-E?
Como Corrigir Erros de Comprimento de UPC-E?
IronBarcode lança um erro se os dígitos numéricos excederem 8.
Quais são os diferentes tipos de código de barras 1D?
Nome
Formatar
Uso Comum
Restrições e Armadilhas
Código 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.
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 Soda PDF) 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.
How can I resolve formatting errors with GS1-128 barcodes?
Ensure that your barcode string follows the GS1-128 standards, starting with the FNC1 character and correctly formatted application identifiers. IronBarcode helps by throwing exceptions for non-compliant strings, which you can address using the GS1-128 troubleshooting guide.
What makes Code 39 suitable for the automotive industry?
Code 39 is favored in the automotive industry due to its ability to encode alphanumeric data without requiring check digits, simplifying environments where data integrity is verified by other means.
How does IronBarcode handle different output formats?
IronBarcode allows you to save generated barcodes in various output formats like JPEG, ensuring seamless integration with existing systems through flexible export options.
Why should I use Intelligent Mail Barcode for USPS applications?
Intelligent Mail Barcode is a USPS standard that optimizes mail sorting and enables tracking, requiring specific numeric lengths to ensure compliance and qualify for postal discounts.
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 bem estruturados e visualmente atraentes.