Leia Código de Barras Code 39 em C# Rápida e Facilmente

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

IronBarcode simplifica a leitura de códigos de barras Code 39 padrão e estendido em C# usando a classe BarcodeReaderOptions com BarcodeEncoding.Code39 especificado, e ativando UseCode39ExtendedMode para suporte a caracteres ASCII completo quando necessário.

O Code 39 é um formato de código de barras versátil amplamente utilizado em aplicações de inventário, logística e industriais. Um código de barras Code 39 pode variar em comprimento, tornando-o flexível para diferentes casos de uso.

O Código 39 padrão original codifica letras maiúsculas (A-Z), dígitos (0-9) e vários caracteres especiais (espaço, -, $, +, %, e .). Isso funciona bem para IDs básicos, mas aplicativos modernos muitas vezes requerem a codificação de todos os 128 caracteres ASCII. A especificação Code 39 Extended aborda essa necessidade.

Este guia demonstra como ler as variações padrão e estendidas do Code 39 com o IronBarcode. Seja você desenvolvendo sistemas de gerenciamento de inventário, rastreando remessas ou processando códigos de barras industriais, o IronBarcode oferece capacidades confiáveis de leitura do Code 39. Para uma visão completa das capacidades de leitura de código de barras, confira nosso guia abrangente de início rápido de código de barras.


Início Rápido: Leia Código de Barras Code 39 em C#

Use o BarcodeReader do IronBarcode para decodificar um código de barras Code 39 a partir de uma imagem em uma linha de código. Comece imediatamente—especifique o tipo de codificação, passe sua imagem e leia o resultado.

  1. Instale IronBarcode com o Gerenciador de Pacotes NuGet

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

    IronBarCode.BarcodeReader.Read("code39.png", new IronBarCode.BarcodeReaderOptions { ExpectBarcodeTypes = IronBarCode.BarcodeEncoding.Code39 }).First().ToString();
  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 faço para ler códigos de barras padrão Code 39?

Ler um código de barras Code 39 com o IronBarcode é simples. Primeiro, inicialize um novo BarcodeReaderOptions e especifique o tipo de código de barras como BarcodeEncoding.Code39. Isso otimiza o leitor ao informar exatamente qual formato de código de barras procurar.

Em seguida, leia os códigos de barras usando o método Read, passando a imagem do código de barras e opções como parâmetros. Em seguida, itere sobre a coleção de resultados e imprima o valor em string de cada código de barras no console. Para configurações mais avançadas, explore nosso guia detalhado sobre configurações do leitor de código de barras.

Como é um código de barras padrão Code 39?

Esta imagem contém um código de barras padrão Code 39. Observe como o código de barras exibe seu valor codificado tanto como barras quanto como texto legível por humanos abaixo. Esta representação dupla é típica dos códigos de barras Code 39 em aplicações industriais e logísticas.

Codificação do código de barras Code 39 'ABC-1234' com barras visíveis e texto legível por humanos abaixo

Que código eu preciso para ler o Code 39 padrão?

:path=/static-assets/barcode/content-code-examples/how-to/read-code39-barcode.cs
using IronBarCode;
using System;

BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    // Tell the reader to only look for Code 39.
    ExpectBarcodeTypes = BarcodeEncoding.Code39
};

// Read barcode(s) from the image file using the specified options
var results = BarcodeReader.Read("code39.png", options);

// Loop through each BarcodeResult found in the image
foreach (var result in results)
{
    // Print the decoded string value of the standard Code 39 barcode
    Console.WriteLine(result.ToString());
}
$vbLabelText   $csharpLabel

Especificar o tipo de código de barras esperado melhora significativamente o desempenho da leitura. O IronBarcode não perde tempo procurando outros formatos de código de barras, o que é especialmente benéfico para o processamento em lote de grandes conjuntos de imagens. Saiba mais sobre como otimizar o desempenho da leitura de códigos de barras com nosso guia de opções de velocidade de leitura.

Que resultado devo esperar?

Console do Visual Studio mostrando saída de leitura de código de barras Code 39 com valor decodificado ABC-1234 e código de saída 0

A saída do console mostra o valor decodificado com sucesso "ABC-1234" do nosso código de barras Code 39. O código de saída 0 confirma uma execução bem-sucedida sem erros. Em aplicações de produção, implemente o tratamento adequado de erros para os casos em que os códigos de barras possam não ser reconhecidos. Confira nosso guia de solução de problemas para códigos de barras não reconhecidos se você encontrar problemas.


Como faço para ler códigos de barras Code 39 estendidos?

Ler um código de barras Code 39 estendido segue um processo semelhante ao Code 39 padrão. A principal diferença é definir a propriedade UseCode39ExtendedMode para true.

Essa configuração instrui o IronBarcode a interpretar pares de caracteres especiais (por exemplo, +T, %O) e decodificá-los em seus equivalentes em ASCII completo (por exemplo, t, !). O Code 39 estendido usa sequências de dois caracteres para representar caracteres fora do conjunto padrão. Isso torna o código de barras um pouco mais longo, mas permite a codificação de letras minúsculas, pontuação adicional e caracteres de controle.

Quando devo usar o Code 39 estendido?

O Code 39 estendido é ideal quando sua aplicação precisa codificar:

  • Texto em maiúsculas e minúsculas (letras em maiúsculas e minúsculas)
  • Caracteres especiais como @, #, &, !, ?
  • Caracteres de controle para transmissão de dados
  • Suporte ao conjunto completo de caracteres ASCII

Aplicações comuns incluem sistemas de saúde, rastreamento de documentos e gerenciamento avançado de inventário requerendo uma rica codificação de dados.

Como é um código de barras Code 39 estendido?

Esta imagem contém um código de barras Code 39 estendido. O valor Test-Data! contém caracteres em minúsculas e um ponto de exclamação, que estão disponíveis apenas no conjunto ASCII completo e requerem modo estendido.

Código de barras Code 39 estendido mostrando dados codificados com 'Test-Data!' exibido como a saída decodificada abaixo das barras

Que código eu preciso para o Code 39 estendido?

:path=/static-assets/barcode/content-code-examples/how-to/read-extended-code39-barcode.cs
using IronBarCode;
using System;

BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    // Enable extended Code 39 mode
    UseCode39ExtendedMode = true,

    // Specify that we are expecting Code 39 barcodes
    ExpectBarcodeTypes = BarcodeEncoding.Code39
};

// Read barcode(s) from the extended code 39 image
var results = BarcodeReader.Read("code39extended.png", options);

// Loop through each BarcodeResult found in the image
foreach (var result in results)
{
    // Print the fully decoded ASCII string (e.g., "Test-Data!")
    Console.WriteLine(result.ToString());
}
$vbLabelText   $csharpLabel

Que saída devo esperar do modo estendido?

Saída do console mostrando o resultado 'Test-Data!' da aplicação de leitura de código de barras Extended Code 39

A saída do console pode não exibir corretamente todos os caracteres ASCII. Nesses cenários, por favor redirecione a saída para um arquivo .txt para verificar o resultado extraído.)

Técnicas Avançadas de Leitura de Código 39

Manipulação de Múltiplos Códigos de Barras

IronBarcode detecta e lê automaticamente vários códigos de barras Code 39 em uma única imagem. O método Read retorna uma coleção de resultados, permitindo que você processe cada código de barras individualmente. Para aplicações que lidam com folhas de códigos de barras ou documentos complexos, veja nosso guia sobre leitura de múltiplos códigos de barras.

Lidando com Imagens de Baixa Qualidade

Códigos de barras Code 39 às vezes aparecem em condições menos ideais - impressões desbotadas, ângulos fora de eixo ou digitalizações de baixa resolução. IronBarcode inclui poderosos filtros de correção de imagem que podem melhorar significativamente a precisão da leitura:

BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.Code39,
    UseCode39ExtendedMode = true,

    // Apply image correction filters
    ImageFilters = new ImageFilterCollection() {
        new SharpenFilter(),
        new ContrastFilter(),
        new BrightnessFilter()
    }
};
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.Code39,
    UseCode39ExtendedMode = true,

    // Apply image correction filters
    ImageFilters = new ImageFilterCollection() {
        new SharpenFilter(),
        new ContrastFilter(),
        new BrightnessFilter()
    }
};
$vbLabelText   $csharpLabel

Otimização de desempenho

Para aplicações de leitura de códigos de barras em alto volume, considere estas estratégias de otimização:

  1. Especifique tipos exatos de código de barras - Sempre defina ExpectBarcodeTypes para evitar digitalização desnecessária
  2. Utilize velocidades de leitura adequadas - Equilibre velocidade e precisão com base em suas necessidades
  3. Processe imagens em paralelo - Utilize multithreading para processamento em lote
  4. Pré-processar imagens - Aplique correções apenas quando necessário para manter o desempenho

Resumo

IronBarcode simplifica a leitura de códigos de barras Code 39 em C#, seja trabalhando com formatos padrão ou estendidos. Os passos principais são:

Com esses fundamentos, você está pronto para integrar a leitura de código de barras Code 39 em suas aplicações .NET. Para documentação completa da API e formatos adicionais de código de barras, visite nossa referência completa da API. Para um exemplo prático específico para Code 39, confira nosso tutorial dedicado a Code 39.

Perguntas frequentes

O que é o Código 39 e quais são seus usos comuns?

O Code 39 é um formato de código de barras versátil, amplamente utilizado em inventário, logística e aplicações industriais. Seu comprimento pode variar, tornando-o flexível para diferentes casos de uso. O Code 39 padrão codifica letras maiúsculas (AZ), dígitos (0-9) e diversos caracteres especiais, enquanto o Code 39 Extended pode codificar todos os 128 caracteres ASCII. O IronBarcode oferece recursos confiáveis para leitura das variações padrão e estendida do Code 39.

Como faço para ler um código de barras Code 39 padrão em C#?

Para ler um código de barras Code 39 com o IronBarcode, primeiro inicialize um novo objeto BarcodeReaderOptions e especifique o tipo de código de barras como BarcodeEncoding.Code39. Em seguida, use o método Read, passando a imagem do código de barras e as opções como parâmetros. Finalmente, itere sobre a coleção de resultados para acessar o valor de string de cada código de barras.

Que caracteres o Code 39 padrão pode codificar?

O código padrão Code 39 codifica letras maiúsculas (AZ), dígitos (0-9) e vários caracteres especiais, incluindo espaço, hífen (-), cifrão ($), sinal de mais (+), porcentagem (%) e ponto (.). Para codificar todos os 128 caracteres ASCII, você precisará usar o modo estendido Code 39, que o IronBarcode suporta através da opção UseCode39ExtendedMode.

Qual a diferença entre o Código 39 padrão e o Código 39 estendido?

O Código 39 padrão é limitado a letras maiúsculas, números e alguns caracteres especiais, o que funciona bem para IDs básicos. O Código 39 Estendido atende à necessidade de aplicações modernas codificarem todos os 128 caracteres ASCII. O IronBarcode simplifica a leitura de ambas as variações habilitando o `UseCode39ExtendedMode` na classe `BarcodeReaderOptions` para suporte completo a caracteres ASCII.

Os códigos de barras Code 39 podem incluir texto legível por humanos?

Sim, os códigos de barras Code 39 geralmente exibem seu valor codificado tanto em barras quanto em texto legível abaixo do código. Essa dupla representação é comum em aplicações industriais e logísticas, facilitando a verificação do conteúdo do código pelos operadores. O IronBarcode consegue ler os dados do código de barras independentemente da presença do texto legível.

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.