Ir para o conteúdo do rodapé
COMPARAR COM OUTROS COMPONENTES

Como ler códigos de barras no ZXing para desenvolvedores C#

Códigos de barras fornecem uma forma clara e legível por máquinas de apresentar dados. Inicialmente, os códigos de barras consistiam em linhas paralelas com larguras e espaçamentos variados, servindo como uma representação de dados. Esses códigos de barras tradicionais lineares ou unidimensionais (1D) poderiam ser escaneados por dispositivos ópticos especializados chamados leitores de códigos de barras. No entanto, a evolução dos códigos de barras levou à invenção dos códigos de barras bidimensionais (2D), também conhecidos como códigos de matriz. Ao contrário dos códigos de barras tradicionais, os códigos de barras 2D utilizam padrões como retângulos, pontos e hexágonos em vez de barras. Para ler esses códigos de barras 2D, configurações específicas de scanners ópticos estão disponíveis, ou métodos alternativos envolvem o uso de uma câmera digital conectada a um computador rodando software de decodificação. Além disso, dispositivos móveis como smartphones podem aproveitar suas câmeras integradas e aplicativos dedicados para funcionar como um scanner de códigos de barras 2D.

ZXing Barcode Scanner

Zebra Crossing, frequentemente conhecido como ZXing, é um toolkit open-source de processamento de imagens de códigos de barras 1D/2D, desenvolvido em Java e que possui ports para outras linguagens. A biblioteca central de decodificação de imagens, o código cliente específico for Java e o aplicativo Android Barcode Scanner são apenas alguns dos módulos que compõem o ZXing. Numerosos outros projetos open-source independentes são construídos sobre ele.

1. Funcionalidades

  • Ele pode rastrear URLs, informações de contato, eventos de calendário e muito mais.
  • Foi criado com aplicações Java SE em mente.
  • Através do propósito, a integração do scanner de códigos de barras é possível.
  • É um aplicativo simples para Google Glass.

2. Usando ZXing com .NET

Abra o Visual Studio, escolha 'novo projeto' no menu arquivo, depois 'aplicativo de console'. Neste artigo, estamos escolhendo o aplicativo de console C#.

Como escanear códigos de barras no ZXing para desenvolvedores C# Figura 1

Digite o nome do projeto e o caminho do arquivo na caixa de texto apropriada. Em seguida, clique no botão Criar para escolher o .NET Framework necessário.

Se você selecionou um aplicativo de console, o projeto agora criará sua estrutura e abrirá o arquivo program.cs, permitindo que você digite o código do programa e o construa ou execute.

Como escanear códigos de barras no ZXing para desenvolvedores C# Figura 2

2.1 Instalar ZXing Barcode

Digite o seguinte comando no Console do Gerenciador de Pacotes NuGet para instalar a biblioteca ZXing:

Install-Package ZXing.Net.Bindings.Windows.Compatibility

Alternativamente, você pode obter o pacote usando a ferramenta de gerenciador de pacotes NuGet. Como a ilustração abaixo. Tente instalar o primeiro resultado que você escolher.

Como escanear códigos de barras no ZXing para desenvolvedores C# Figura 3

2.2 Ler e Escrever Código de Barras usando ZXing

Podemos criar um código de barras usando o seguinte código de exemplo. ZXing nos permite criar mais de 10 tipos de formatos de códigos de barras.

using ZXing.Windows.Compatibility;

var options = new QrCodeEncodingOptions
{
    Width = 250,
    Height = 250,
};

var writer = new BarcodeWriter();
writer.Format = BarcodeFormat.QR_CODE;
writer.Options = options;

// Encode the string into a QR code bitmap image
System.Drawing.Bitmap _bitmap = writer.Write("Hello world");

// Save the bitmap as a PNG file
_bitmap.Save("Demo1.png");
using ZXing.Windows.Compatibility;

var options = new QrCodeEncodingOptions
{
    Width = 250,
    Height = 250,
};

var writer = new BarcodeWriter();
writer.Format = BarcodeFormat.QR_CODE;
writer.Options = options;

// Encode the string into a QR code bitmap image
System.Drawing.Bitmap _bitmap = writer.Write("Hello world");

// Save the bitmap as a PNG file
_bitmap.Save("Demo1.png");
$vbLabelText   $csharpLabel

O código acima define a altura e a largura para o QrCodeEncodingOptions. Em seguida, cria uma instância de BarcodeWriter. Para o BarcodeWriter, definimos o formato do código de barras como QR code. Atribuímos as opções de QR code criadas anteriormente ao escritor. O método Write no BarcodeWriter codifica a string fornecida em um código de barras e o retorna como uma imagem bitmap. A imagem é salva usando o método Save do bitmap. Abaixo está o resultado do código.

Como escanear códigos de barras no ZXing para desenvolvedores C# Figura 4

O próximo exemplo de código demonstra como decodificar um código de barras usando ZXing.

using ZXing.Windows.Compatibility;

// Load the barcode image into a bitmap
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");

// Create a BarcodeReader object
var reader = new BarcodeReader();

// Decode the bitmap into a result
var result = reader.Decode(barcodeBitmap);

if (result != null)
{
    // Output the decoded text to the console
    Console.WriteLine(result.Text);
    Console.ReadKey();
}
using ZXing.Windows.Compatibility;

// Load the barcode image into a bitmap
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");

// Create a BarcodeReader object
var reader = new BarcodeReader();

// Decode the bitmap into a result
var result = reader.Decode(barcodeBitmap);

if (result != null)
{
    // Output the decoded text to the console
    Console.WriteLine(result.Text);
    Console.ReadKey();
}
$vbLabelText   $csharpLabel

No código acima, primeiramente carregamos a imagem em um bitmap e, em seguida, criamos um objeto BarcodeReader. A função Decode nos permite passar o bitmap como um parâmetro, que pode retornar resultados em vários formatos. Usamos a propriedade Text para obter o texto codificado no código de barras.

Como escanear códigos de barras no ZXing para desenvolvedores C# Figura 5

IronBarcode

Com a ajuda desta biblioteca de códigos de barras, ler e criar códigos de barras é fácil. Um código de barras dinâmico é fácil de fazer com a Biblioteca do IronBarcode. Com apenas algumas linhas de código, esta biblioteca simples pode gerar um código de barras, o que nos ajuda a codificar imagens de códigos de barras. O IronBarcode nos permite gerar códigos de barras em linguagens como C# e VB.NET.

1. Funcionalidades

  • IronBarcode pode ler e escrever a maioria dos formatos de imagem de código de barras e padrões QR, incluindo UPC A/E, Databar, EAN 8/13, MSI, Código 39/93/128, CodaB, RSS 14/Expansível, e ITF.
  • Ao escanear digitalizações e quadros de vídeo em tempo real, o IronBarcode pode corrigir rotação, ruído, distorção e inclinação. Para melhorar a precisão e velocidade de leitura, o IronBarcode pré-processa automaticamente as imagens de código de barras à medida que são criadas. Os códigos de barras dinâmicos são frequentemente usados pois permitem a alteração de conteúdo.
  • A capacidade do IronBarcode de utilizar muitos núcleos e threads é vantajosa para servidores de processamento em lote.
  • Em documentos de uma ou várias páginas, o IronBarcode pode encontrar automaticamente um ou mais códigos de barras.

2. Usando o IronBarcode

Para utilizar a biblioteca IronBarcode na solução, você deve baixar o pacote necessário. Para fazer isso, use o seguinte comando no Console do Gerenciador de Pacotes NuGet:

Install-Package BarCode

Como alternativa, você pode usar o Gerenciador de Pacotes NuGet, que mostrará todos os resultados da pesquisa, para procurar e baixar o pacote "Barcode". Depois, você pode selecionar o pacote essencial para baixar no programa a partir deles.

Como escanear códigos de barras no ZXing para desenvolvedores C# Figura 6

3. Ler e Escrever Códigos de Barras usando o IronBarcode

Com apenas algumas linhas de código, podemos rapidamente fazer imagens de código de barras usando a biblioteca IronBarcode. Além disso, ele nos permite salvar o código de barras criado como um arquivo de imagem separado. Aqui está um exemplo de código C# para criar um rótulo de código de barras com um programa Console.

using IronBarCode;

// Create a QR code with a medium error correction level
QRCodeWriter.CreateQrCode("Your text here", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("demo.png");
using IronBarCode;

// Create a QR code with a medium error correction level
QRCodeWriter.CreateQrCode("Your text here", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium).SaveAsPng("demo.png");
$vbLabelText   $csharpLabel

Este código produz um gráfico de 500 por 500 pixels usando um nível médio de correção de erros, e depois salva em um local de arquivo usando o método SaveAsPng.

O próximo exemplo de código lê o texto codificado no código QR que criamos no exemplo anterior.

using IronBarCode;

// Load the QR code image into a bitmap
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");

// Read the barcode image
var reader = IronBarCode.BarcodeReader.Read(barcodeBitmap);

// Output the decoded value to the console
Console.WriteLine(reader.Values[0]);
Console.ReadKey();
using IronBarCode;

// Load the QR code image into a bitmap
var barcodeBitmap = (System.Drawing.Bitmap)System.Drawing.Bitmap.FromFile("demo.png");

// Read the barcode image
var reader = IronBarCode.BarcodeReader.Read(barcodeBitmap);

// Output the decoded value to the console
Console.WriteLine(reader.Values[0]);
Console.ReadKey();
$vbLabelText   $csharpLabel

Primeiro carregamos a imagem em um bitmap e depois lemos a imagem usando o método Read na classe BarcodeReader. Usamos a propriedade Values no objeto BarcodeResults retornado do método Read para obter o conteúdo que foi lido do QR code.

Para saber mais sobre ZXing e como ele se compara ao IronBarcode, leia este próximo post no blog.

Nosso tutorial de Leitura de Códigos de Barras também fornece mais informações sobre como usar o IronBarcode para ler códigos de barras e códigos QR. Para mais tutoriais de código sobre o IronBarcode.

Conclusão

O scanner de código de barras ZXing pode criar códigos de barras de alta qualidade, mas está desatualizado e suporta poucos formatos de código de barras. Ele também tem documentação e suporte ao produto limitados.

Por outro lado, o IronBarcode é muito eficiente e flexível, e é capaz de trabalhar em muitos sistemas operacionais. O IronBarcode pode mudar a cor, tamanho, espaçamento e letras usadas em códigos de barras. Ele também suporta o Crystal Reports.

Os desenvolvedores podem usar o IronBarcode gratuitamente. Os usuários podem comprar uma licença para acessar funcionalidades adicionais e receber um ano completo de suporte e atualizações de produto.

ObserveZXing é uma marca registrada de seu respectivo proprietário. Este site não é afiliado, endossado ou patrocinado pelo ZXing. Todos os nomes de produtos, logotipos e marcas são propriedade de seus respectivos proprietários. As comparações são apenas para fins informativos e refletem informações disponíveis publicamente no momento da redação.

Perguntas frequentes

Como posso converter HTML para PDF em C#?

Você pode usar o método RenderHtmlAsPdf do IronPDF para converter strings HTML em PDFs. Você também pode converter arquivos HTML em PDFs usando o RenderHtmlFileAsPdf .

Quais são as diferenças entre IronBarcode e ZXing?

O IronBarcode oferece maior flexibilidade e suporta uma gama mais ampla de formatos de código de barras em comparação com o ZXing. Embora o ZXing seja eficaz para a criação de códigos de barras, ele é limitado em termos de suporte a formatos e documentação. O IronBarcode se destaca pela eficiência e é compatível com diversos sistemas operacionais.

Como faço para ler um código de barras usando um dispositivo móvel?

Com o leitor de código de barras ZXing para Android, você pode usar a câmera do seu dispositivo para ler códigos de barras. Para recursos mais robustos, o IronBarcode pode ser integrado a aplicativos móveis para aprimorar as capacidades de leitura de códigos de barras.

O IronBarcode suporta códigos de barras 2D?

Sim, o IronBarcode suporta códigos de barras 1D e 2D, incluindo códigos QR, permitindo leitura e criação versáteis de códigos de barras.

O IronBarcode consegue lidar com a criação dinâmica de códigos de barras?

O IronBarcode suporta a criação dinâmica de códigos de barras, permitindo que você personalize os códigos de barras em termos de cor, tamanho, espaçamento e letras para atender a requisitos específicos.

O que é necessário para integrar o IronBarcode em um projeto .NET?

Para integrar o IronBarcode em um projeto .NET, instale o pacote através do Console do Gerenciador de Pacotes NuGet usando o Install-Package IronBarcode ou encontre-o no Gerenciador de Pacotes NuGet.

Existe algum custo associado ao uso do IronBarcode?

A IronBarcode oferece um período de teste gratuito, mas a compra de uma licença proporciona recursos adicionais, atualizações do produto e um ano de suporte.

O IronBarcode pode ser usado para ler códigos de barras em frames de vídeo?

Sim, o IronBarcode consegue processar quadros de vídeo em tempo real, corrigindo rotação, ruído, distorção e inclinação para melhorar a precisão e a velocidade na leitura de códigos de barras.

Quais são as funcionalidades do ZXing para leitura de código de barras?

O ZXing oferece um conjunto de ferramentas de código aberto para leitura de códigos de barras, especialmente para códigos de barras 1D e 2D. Inclui uma biblioteca principal de decodificação de imagens e um cliente Android, o Barcode Scanner.

Quais linguagens de programação são suportadas pelo IronBarcode?

O IronBarcode é compatível com C# e VB.NET, sendo ideal para desenvolvedores que trabalham com o framework .NET.

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