Ir para o conteúdo do rodapé
USANDO O IRONBARCODE

Tutorial do componente de código de barras .NET usando IronBarcode

Um componente .NET de código de barras é uma biblioteca de código gerenciado que permite gerar e ler códigos de barras em aplicações C# com apenas algumas linhas de código. IronBarcode suporta todas as principais simbologias -- Code 128, QR, Data Matrix, EAN, UPC e mais -- e roda no Windows, Linux e macOS sem dependências de tempo de execução adicionais.

Instale via NuGet e comece a gerar códigos de barras em minutos:

Install-Package BarCode
Install-Package BarCode
SHELL

O que é um Componente .NET de Código de Barras?

Um componente .NET de código de barras é uma biblioteca de software empacotada como um pacote NuGet que fornece capacidades de geração e leitura de códigos de barras por meio de uma API limpa. Ao contrário dos fontes de código de barras, que exigem cálculos de verificação manual e regras de formatação complexas, um componente dedicado lida com toda a lógica de codificação internamente.

A biblioteca IronBarcode expõe dois pontos de entrada principais:

  • BarcodeWriter -- cria imagens de código de barras, PDFs e HTML a partir de dados textuais ou numéricos
  • BarcodeReader -- escaneia imagens, PDFs e TIFFs de vários quadros para extrair valores de códigos de barras

Este design bidirecional significa que você pode tanto imprimir códigos de barras em etiquetas quanto digitalizá-los de volta de documentos dentro da mesma biblioteca, o que é essencial para gestão de inventário, rastreamento de documentos, integração com Crystal Reports e fluxos de automação de dados.

As simbologias suportadas incluem:

  • Linear 1D: Code 128, Code 39, Code 93, ITF-14, EAN-13, EAN-8, UPC-A, UPC-E
  • Matriz 2D: Código QR, Data Matrix, PDF417, Aztec
  • Variantes GS1: GS1-128, GS1 DataBar

Os sistemas de manufatura tipicamente usam Code 128 para rastreamento de produto porque codifica dados alfanuméricos de forma eficiente. Aplicações na área de saúde frequentemente dependem de Data Matrix para etiquetagem de medicamentos porque imprime bem em tamanhos muito pequenos. Os sistemas de ponto de venda de varejo digitalizam códigos de barras EAN-13 e UPC-A no caixa. Escolher a simbologia certa para seu caso de uso é uma das primeiras decisões que você fará ao integrar a funcionalidade de código de barras.

Como Instalar o IronBarcode em um Projeto .NET?

Instalar o IronBarcode leva menos de dois minutos usando o Gerenciador de Pacotes NuGet no Visual Studio ou o .NET CLI.

Console do Gerenciador de Pacotes (Visual Studio):

Install-Package BarCode
Install-Package BarCode
SHELL

.NET CLI:

dotnet add package BarCode
dotnet add package BarCode
SHELL

Como Integrar um Componente .NET de Código de Barras em C#: Figura 3 - Instalação

Após a instalação do pacote, adicione o namespace no topo de qualquer arquivo que use funcionalidade de código de barras:

using IronBarCode;
using IronBarCode;
$vbLabelText   $csharpLabel

IronBarcode tem como alvo .NET Framework 4.6.2 e posterior, .NET Core 3.1 e posterior, e .NET 5 até .NET 10. Ele roda no Windows, Linux e macOS, portanto, o mesmo código funciona em containers hospedados na nuvem, servidores locais e estações de trabalho de desenvolvedores sem configuração específica de plataforma.

Para aplicações ASP.NET Core, não é necessário registro de middleware. Você chama a API diretamente dos controladores, serviços em segundo plano ou Razor Pages. Aplicações Windows Forms e WPF ganham acesso da mesma forma -- adicione o namespace e comece a chamar métodos.

Como Integrar um Componente .NET de Código de Barras em C#: Figura 4 - Gerar Códigos de Barras com Suporte Multiplataforma

Etapas de instalação detalhadas, incluindo configuração de feed offline do NuGet e configurações de proxy, estão disponíveis no guia de introdução do IronBarcode.

Como Você Gera uma Imagem de Código de Barras em C#?

A geração de um código de barras com IronBarcode requer três etapas: escolher a codificação, definir o valor e salvar o resultado. O exemplo a seguir cria um código de barras Code 128 e o salva como imagem PNG e documento PDF:

using IronBarCode;

// Create a Code 128 barcode encoding a product identifier
var barcode = BarcodeWriter.CreateBarcode("PRD-12345-2024", BarcodeEncoding.Code128);

// Set the output dimensions in pixels
barcode.ResizeTo(400, 100);

// Add human-readable text beneath the bars
barcode.AddBarcodeValueTextBelowBarcode();

// Export to PNG for screen display and label printing
barcode.SaveAsImage("product-barcode.png");

// Export to PDF for document embedding
barcode.SaveAsPdf("product-barcode.pdf");
using IronBarCode;

// Create a Code 128 barcode encoding a product identifier
var barcode = BarcodeWriter.CreateBarcode("PRD-12345-2024", BarcodeEncoding.Code128);

// Set the output dimensions in pixels
barcode.ResizeTo(400, 100);

// Add human-readable text beneath the bars
barcode.AddBarcodeValueTextBelowBarcode();

// Export to PNG for screen display and label printing
barcode.SaveAsImage("product-barcode.png");

// Export to PDF for document embedding
barcode.SaveAsPdf("product-barcode.pdf");
$vbLabelText   $csharpLabel

O método ResizeTo() define dimensões de pixel precisamente, o que é importante quando você está imprimindo etiquetas com um DPI específico. A chamada AddBarcodeValueTextBelowBarcode() adiciona texto legível por humanos sob as barras, tornando mais fácil a verificação manual em ambientes de armazém e varejo.

Formatos de Saída de Código de Barras

Como Integrar um Componente .NET de Código de Barras em C#: Figura 5 - Saída PNG

Como Integrar um Componente .NET de Código de Barras em C#: Figura 6 - Saída PDF

IronBarcode exporta para PNG, JPEG, GIF, TIFF, BMP, PDF, HTML e strings base64. O formato base64 é particularmente útil para incorporar códigos de barras em respostas de API que um frontend renderiza dinamicamente sem gravar arquivos no disco.

Como Gerar um Código QR em C#?

Para códigos QR, IronBarcode fornece a classe QRCodeWriter com suporte embutido para níveis de correção de erros e controle de tamanho de módulo:

using IronBarCode;

// Generate a QR code from a URL with 500px dimensions
var qrCode = QRCodeWriter.CreateQrCode("https://example.com/product/12345", 500);

// Save the QR code to a PNG file
qrCode.SaveAsImage("product-qr.png");
using IronBarCode;

// Generate a QR code from a URL with 500px dimensions
var qrCode = QRCodeWriter.CreateQrCode("https://example.com/product/12345", 500);

// Save the QR code to a PNG file
qrCode.SaveAsImage("product-qr.png");
$vbLabelText   $csharpLabel

Os códigos QR podem codificar URLs, texto simples, dados de contato vCard, credenciais Wi-Fi e sequências arbitrárias de bytes. A página de exemplos de geração de código de barras abrange cenários de codificação adicionais, incluindo Data Matrix e PDF417.

Como Ler Códigos de Barras a Partir de Imagens?

Ler códigos de barras de uma imagem é tão direto quanto escrevê-los. O método BarcodeReader.Read() aceita um caminho de arquivo, Stream, Bitmap ou IronSoftware.Drawing.AnyBitmap, e retorna uma coleção BarcodeResults:

using IronBarCode;

// Read all barcodes from a scanned document image
BarcodeResults results = BarcodeReader.Read("scanned-document.png");

// Iterate over every detected barcode
foreach (BarcodeResult result in results)
{
    string value = result.Value;
    BarcodeEncoding type = result.BarcodeType;
    Console.WriteLine($"Detected {type}: {value}");
}
using IronBarCode;

// Read all barcodes from a scanned document image
BarcodeResults results = BarcodeReader.Read("scanned-document.png");

// Iterate over every detected barcode
foreach (BarcodeResult result in results)
{
    string value = result.Value;
    BarcodeEncoding type = result.BarcodeType;
    Console.WriteLine($"Detected {type}: {value}");
}
$vbLabelText   $csharpLabel

O leitor pré-processa automaticamente as imagens para corrigir problemas comuns de digitalização: rotação, inclinação, ruído, baixo contraste e distorção de perspectiva. Isso significa que você pode passar a saída bruta do scanner diretamente sem pré-processá-la você mesmo.

Digitalizando a Partir de um Documento Real

Como Integrar um Componente .NET de Código de Barras em C#: Figura 7 - Código de barras Code128 pronto para escaneamento

Leitura de Saída

Como Integrar um Componente .NET de Código de Barras em C#: Figura 8 - Saída de Código de Barras

Como Configurar as Opções de Leitura de Código de Barras?

Para cenários de escaneamento de alto volume ou desafiadores, BarcodeReaderOptions lhe dá controle detalhado sobre o algoritmo de leitura:

using IronBarCode;

var options = new BarcodeReaderOptions
{
    // Balance accuracy and processing time
    Speed = ReadingSpeed.Balanced,

    // Detect multiple barcodes in one pass
    ExpectMultipleBarcodes = true,

    // Limit the search to 1D formats for faster processing
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional
};

// Read from a multi-page PDF warehouse inventory report
var results = BarcodeReader.Read("warehouse-inventory.pdf", options);
using IronBarCode;

var options = new BarcodeReaderOptions
{
    // Balance accuracy and processing time
    Speed = ReadingSpeed.Balanced,

    // Detect multiple barcodes in one pass
    ExpectMultipleBarcodes = true,

    // Limit the search to 1D formats for faster processing
    ExpectBarcodeTypes = BarcodeEncoding.AllOneDimensional
};

// Read from a multi-page PDF warehouse inventory report
var results = BarcodeReader.Read("warehouse-inventory.pdf", options);
$vbLabelText   $csharpLabel

Ajustar ExpectBarcodeTypes para corresponder aos formatos que você realmente espera melhora o rendimento porque o leitor ignora padrões que não podem corresponder. A propriedade Speed varia de Faster (melhor para imagens limpas e de alta qualidade) a ExtremeDetail (melhor para fontes danificadas ou de baixa resolução). A documentação de leitura de código de barras cobre opções adicionais, incluindo multithreading e digitalização de região de interesse.

Como Personalizar a Aparência de um Código de Barras?

IronBarcode permite controlar todos os aspectos visuais de um código de barras gerado antes de salvá-lo. Você pode definir cores, fontes, margens e texto de anotação programaticamente. Isso é útil ao gerar códigos de barras para etiquetas com marca ou indústrias reguladas onde o layout da etiqueta segue especificações rigorosas.

A API segue um padrão de estilo fluente: crie o código de barras, chame os métodos de estilo e, em seguida, salve. Todas as propriedades de estilo afetam a saída imediatamente e não exigem uma etapa de renderização separada. Veja os exemplos de estilização e anotação para a lista completa de propriedades disponíveis.

Como Lidar com Códigos de Barras em Documentos PDF?

IronBarcode lê códigos de barras embutidos em arquivos PDF da mesma forma que lê arquivos de imagem. Passe um caminho de PDF para BarcodeReader.Read() e a biblioteca extrai códigos de barras de todas as páginas automaticamente. Isso é valioso para fluxos de trabalho de contas a pagar onde PDFs de fatura contêm códigos de barras GS1-128, e para sistemas de logística onde manifestos de envio são distribuídos como anexos PDF.

Você também pode escrever códigos de barras diretamente em páginas PDF usando IronBarcode juntamente com IronPDF para geração de documentos. Um padrão comum é gerar um PDF de etiqueta de envio que contém tanto um bloco de endereço legível quanto um código de barras Code 128 escaneável para o número de rastreamento.

Para leitura adicional sobre fluxos de trabalho de código de barras em PDF, a seção de tutoriais do IronBarcode fornece exemplos completos cobrindo processamento de faturas, impressão em lote de etiquetas e arquivamento de documentos.

Como Integrar Códigos de Barras em APIs ASP.NET Core?

Retornar uma imagem de código de barras a partir de um ponto de extremidade de controlador ASP.NET Core é um requisito comum para portais web que exibem etiquetas dinâmicas. A saída base64 do IronBarcode torna isso simples:

using IronBarCode;

// In an ASP.NET Core controller action
public IActionResult GetBarcodeImage(string productId)
{
    var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128);
    barcode.ResizeTo(400, 100);
    barcode.AddBarcodeValueTextBelowBarcode();

    // Return the barcode as a PNG image response
    byte[] imageBytes = barcode.ToJpegBinaryData();
    return File(imageBytes, "image/jpeg");
}
using IronBarCode;

// In an ASP.NET Core controller action
public IActionResult GetBarcodeImage(string productId)
{
    var barcode = BarcodeWriter.CreateBarcode(productId, BarcodeEncoding.Code128);
    barcode.ResizeTo(400, 100);
    barcode.AddBarcodeValueTextBelowBarcode();

    // Return the barcode as a PNG image response
    byte[] imageBytes = barcode.ToJpegBinaryData();
    return File(imageBytes, "image/jpeg");
}
$vbLabelText   $csharpLabel

Essa abordagem funciona com qualquer framework de frontend. O navegador recebe uma resposta de imagem padrão e a exibe em uma tag <img>. Para pontos de extremidade de alto tráfego, gere códigos de barras uma vez e faça o cache do array de bytes, já que o mesmo ID de produto sempre produz a mesma imagem de código de barras.

O referência da API IronBarcode documenta todos os métodos disponíveis, incluindo saída em streaming, que evita a alocação de grandes arrays de bytes para códigos de barras de altíssima resolução.

Como o IronBarcode Lida com Validação de Código de Barras e Correção de Erros?

Os padrões de código de barras definem regras estritas de codificação e requisitos de verificação. Code 128 usa uma soma de verificação módulo-103 ponderada. EAN-13 usa módulo-10. Códigos QR incorporam correção de erro Reed-Solomon que permite recuperação parcial de dados mesmo quando até 30% do código de barras está obscurecido ou danificado.

IronBarcode aplica essas regras automaticamente. Quando você chama BarcodeWriter.CreateBarcode(), a biblioteca valida se os dados se encaixam no conjunto de caracteres e restrições de comprimento da simbologia, calcula e anexa o checksum correto sem qualquer etapa adicional no seu código. Isso previne a geração de códigos de barras inválidos que os scanners rejeitarão.

Do lado da leitura, a biblioteca aplica correção de erros durante a decodificação, o que significa que muitas vezes pode recuperar o valor correto de um código de barras que está parcialmente rasgado, manchado ou impresso em baixa resolução. Esse comportamento é particularmente importante para conformidade com os padrões de código de barras GS1 no varejo e logística.

Para um olhar mais profundo sobre como a correção de erros de código de barras funciona no nível de especificação, a documentação dos padrões de código de barras ISO/IEC fornece a referência técnica autorizada.

Quais São os Cenários Comuns de Integração de Códigos de Barras?

Cenários comuns de integração de códigos de barras e recursos recomendados do IronBarcode
Cenário Simbologia Recurso-chave do IronBarcode
Ponto de venda no varejo EAN-13, UPC-A `BarcodeEncoding.EAN13`, exportação em PDF
Inventário de armazém Code 128, ITF-14 `ExpectMultipleBarcodes = true`
Rotulagem em saúde Data Matrix, GS1-128 Impressão em tamanho pequeno, exportação em alta DPI
Rastreamento de documentos PDF417, Code 39 Leitura de PDF, suporte a várias páginas
Pesquisa de produtos móveis Código QR `QRCodeWriter.CreateQrCode()`
Etiquetas de envio Code 128, GS1-128 Saída de PDF no tamanho da etiqueta, anotação de texto

Cada cenário se beneficia de diferentes escolhas de configuração. A galeria de exemplos do IronBarcode fornece código executável para todos os cenários acima.

Quais são os seus próximos passos?

Integrar um componente .NET de código de barras transforma o que seria um esforço de desenvolvimento personalizado de semanas em uma tarde de configuração. O IronBarcode lida com regras de codificação, somas de verificação, pré-processamento de imagens e correção de erros para que sua equipe possa focar na lógica de negócios que envolve os fluxos de trabalho de códigos de barras, em vez dos próprios mecanismos de código de barras.

Para avançar:

  1. Instale o pacote: dotnet add package BarCode ou Install-Package BarCode no Console do Gerenciador de Pacotes
  2. Tente o quickstart: O exemplo de quickstart de código de barras abrange geração e leitura em menos de 20 linhas de código
  3. Explore simbologias: A referência de tipos de códigos de barras suportados lista todos os formatos de codificação com orientações de uso
  4. Revise os preços: As opções de licenciamento do IronBarcode cobrem casos de uso de desenvolvimento individual, equipe e redistribuição OEM
  5. Inicie um teste gratuito: Baixe uma licença de teste gratuito de 30 dias para avaliar todo o conjunto de recursos em sua própria aplicação

Para dúvidas sobre licenciamento corporativo, implantações de alto volume ou desafios de integração técnica, a equipe de suporte do IronBarcode está disponível para ajudar.

Referências externas para padrões e especificações de códigos de barras:

Perguntas frequentes

O que é um componente de código de barras em .NET?

Um componente de código de barras for .NET é uma biblioteca de software que permite aos desenvolvedores integrar a geração e a leitura de códigos de barras em aplicativos .NET , lidando automaticamente com regras de codificação, somas de verificação e pré-processamento de imagens.

Como o IronBarcode pode ajudar em aplicações .NET?

IronBarcode fornece um componente .NET para gerar e ler códigos de barras por meio de uma API simples, facilitando a adição de recursos de código de barras a aplicativos C# sem a necessidade de implementar algoritmos de codificação manualmente.

Que tipos de códigos de barras podem ser gerados usando o IronBarcode?

O IronBarcode suporta os seguintes códigos: Code 128, Code 39, Code 93, ITF-14, EAN-13, EAN-8, UPC-A, UPC-E, QR Code, Data Matrix, PDF417, Aztec e variantes GS1.

Por que eu deveria usar um componente de código de barras em vez de criar minha própria solução?

Um componente profissional de código de barras lida automaticamente com o cálculo de checksum, correção de erros, pré-processamento de imagens e suporte a múltiplos formatos, reduzindo o tempo de desenvolvimento e o risco de gerar códigos de barras inválidos.

O IronBarcode é adequado para tarefas de automação de dados?

Sim, o IronBarcode é ideal para automação de dados. Ele lê códigos de barras de imagens e PDFs e se integra diretamente a serviços em segundo plano, tarefas agendadas e APIs do ASP.NET Core .

O IronBarcode pode ser usado para rastreamento de documentos?

Sim. O IronBarcode lê códigos de barras de arquivos PDF com várias páginas e TIFFs com vários quadros, tornando-o prático para fluxos de trabalho de rastreamento de documentos em logística, contas a pagar e gestão de registros.

Quais versões do .NET o IronBarcode suporta?

O IronBarcode é compatível com o .NET Framework 4.6.2 e versões posteriores, o .NET Core 3.1 e versões posteriores, e o .NET 5 até o .NET 10, e funciona em Windows, Linux e macOS.

Como o IronBarcode aprimora os sistemas de gerenciamento de estoque?

O IronBarcode oferece geração confiável de códigos de barras e leitura de múltiplos códigos de barras a partir de imagens e PDFs, permitindo um rastreamento de estoque rápido e preciso em ambientes de armazém e varejo.

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

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me