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

Tutorial passo a passo de um leitor de código de barras em C#

Este tutorial irá demonstrar como criar um scanner de código de barras com a ajuda de uma biblioteca de terceiros. Existem várias bibliotecas disponíveis para esse propósito, mas algumas são pagas, outras oferecem menos funcionalidades e algumas são difíceis de implementar. É uma tarefa desafiadora encontrar uma biblioteca muito abrangente e útil que seja gratuita, eficiente e fácil de implementar.

Por essa razão, usaremos IronBarcode, pois é o mais adequado para desenvolver um scanner de código de barras .NET. Também tem a vantagem adicional de ser gratuito para desenvolvimento, altamente eficiente e fácil de implementar. IronBarcode permite que os desenvolvedores leiam e escrevam códigos de barras e códigos QR em aplicações e sites .NET. A leitura ou escrita de códigos de barras requer apenas uma única linha de código com esta biblioteca.

A biblioteca de código de barras .NET lê e escreve a maioria dos padrões de código de barras e códigos QR. Os tipos de código de barras suportados incluem código 39/93/128, UPC A/E, EAN 8/13, ITF, RSS 14 / Expandido, Databar, Codabar, Aztec, Data Matrix, MaxiCode, PDF417, MSI, Plessey, USPS e QR. Os dados do resultado do código de barras incluem tipo, texto, dados binários, página e arquivos de imagem.

A API de escrita de códigos de barras verifica e valida formato, comprimento, número e checksum para evitar automaticamente erros de codificação. O escritor de códigos de barras permite estilização, redimensionamento, margens, bordas, recoloração e adição de anotações de texto. O escritor de códigos de barras pode gravar em arquivos de imagem, incluindo BMP, PNG, GIF, TIFF e JPG. Também pode escrever para PDF ou arquivos HTML.

Vamos criar nosso scanner de código de barras para entendê-lo melhor.

Criar um projeto do Visual Studio

Em primeiro lugar, crie um projeto no Visual Studio para desenvolver um aplicativo de demonstração. Você também pode abrir um existente.

Siga os passos abaixo para criar um novo projeto de Aplicativo de Console para focar nas funcionalidades principais. O mesmo código pode ser implementado em API web, MVC, Web Forms ou Aplicações de Formulários do Windows.

  1. Abra o Visual Studio
  2. Clique em Criar Novo Projeto
  3. Selecione o Modelo, clique no botão Avançar
  4. Nomeie o Projeto, clique no botão Avançar
  5. Selecione Framework de Destino, clique no botão Avançar
  6. Clique no botão Criar, clique no botão Avançar

Um novo Projeto será criado conforme mostrado abaixo:

C# Barcode Scanner Tutorial Passo-a-Passo, Figura 1: Aplicação de Console Aplicativo de Console

O próximo passo é instalar o pacote NuGet IronBarcode para usar suas funcionalidades.

Instalar pacote NuGet do IronBarcode

Você pode instalar a biblioteca usando o Console do Gerenciador de Pacotes, Soluções do Gerenciador de Pacotes NuGet ou instalar diretamente da página do pacote NuGet BarCode.

Siga os passos abaixo:

  1. Clique em Ferramentas > Gerenciador de Pacotes NuGet > Console do Gerenciador de Pacotes.

C# Barcode Scanner Tutorial Passo-a-Passo, Figura 2: UI do Console do Gerenciador de Pacotes Interface do Console do Gerenciador de Pacotes

  1. Escreva o seguinte comando
Install-Package BarCode

O pacote será instalado.

Agora vamos escrever código para escanear uma imagem de código de barras.

Escaneando um código de barras de um arquivo de imagem

Adicione o seguinte namespace

using IronBarCode;
using IronBarCode;
$vbLabelText   $csharpLabel

Em seguida, escreva o seguinte código dentro da função principal para ler dados do código de barras de uma imagem.

// Read the barcode from an image file
var myBarcode = BarcodeReader.Read(@"D:\Barcode Images\mybarcode.jpeg");

// Print the barcode data to the console
Console.WriteLine(myBarcode);
// Read the barcode from an image file
var myBarcode = BarcodeReader.Read(@"D:\Barcode Images\mybarcode.jpeg");

// Print the barcode data to the console
Console.WriteLine(myBarcode);
$vbLabelText   $csharpLabel

A classe BarcodeReader fornece uma função Read que recebe um caminho de arquivo como argumento. Esta função lê a imagem e retorna os dados do código de barras. Este método lê códigos de barras de BMP, PNG, GIF, TIFF ou JPG com configurações detalhadas para controle do desenvolvedor, equilibrando desempenho contra precisão para seu caso de uso específico.

O caminho contém a seguinte imagem de código de barras que o aplicativo irá escanear.

Imagem do Código de Barras

C# Barcode Scanner Tutorial Passo-a-Passo, Figura 3: A imagem do código de barras usada nesta Aplicação de Console A imagem de código de barras usada nesta Aplicação de Console

Vamos ler esta imagem de código de barras para ver se este programa produz o resultado correto.

Saída

C# Barcode Scanner Tutorial Passo-a-Passo, Figura 4: A saída do Console ao executar a aplicação A saída do Console na execução do aplicativo

Pode-se ver que o programa gerou uma saída precisa.

Fazendo a leitura de um código de barras a partir de um PDF

Existem muitas circunstâncias em que há a necessidade de ler um código de barras de uma fatura em PDF. Neste exemplo, faremos a leitura do código de barras da seguinte fatura.

Documento PDF

C# Barcode Scanner Tutorial Passo-a-Passo, Figura 5: Uma fatura em formato PDF Uma fatura em formato PDF

Considere o seguinte trecho de código para ler o código de barras de um documento PDF:

// Read barcodes from a PDF file
var myBarcode = BarcodeReader.ReadPdf(@"D:\Barcode Images\invoice.pdf");

// Iterate through each barcode found and print its value
foreach(var barcodeData in myBarcode)
{
    Console.WriteLine(barcodeData.Value);
}
// Read barcodes from a PDF file
var myBarcode = BarcodeReader.ReadPdf(@"D:\Barcode Images\invoice.pdf");

// Iterate through each barcode found and print its value
foreach(var barcodeData in myBarcode)
{
    Console.WriteLine(barcodeData.Value);
}
$vbLabelText   $csharpLabel

A classe BarcodeReader fornece a função ReadPdf que recebe um caminho de arquivo como argumento. Essa função procura uma imagem de código de barras em um arquivo PDF, lê todo o código de barras e retorna seus dados na forma de um array. Esta função lê códigos de barras de cada imagem incorporada no documento.

Um loop foreach é utilizado para imprimir os dados do código de barras no console.

Saída

O número da fatura é impresso no console.

C# Barcode Scanner Tutorial Passo-a-Passo, Figura 6: A saída do Console exibe o número da fatura A saída do console exibe o número da fatura

Lendo códigos de barras de vários arquivos

Este exemplo demonstrará como ler múltiplos códigos de barras de arquivos de imagem ao mesmo tempo.

Imagens de código de barras

C# Barcode Scanner Tutorial Passo-a-Passo, Figura 7: Imagens de código de barras usadas no exemplo abaixo Imagens de código de barras usadas no exemplo abaixo

Considere os seguintes trechos de código que leem múltiplos códigos de barras e analisam seus resultados usando multithreading.

// Create a list of file paths containing barcode images
List<string> barcodeList = new List<string>
{
    @"D:\Barcode Images\barcode1.jpg",
    @"D:\Barcode Images\barcode2.jpg",
    @"D:\Barcode Images\barcode3.jpg"
};

// Read barcodes asynchronously from multiple files
var batchResults = BarcodeReader.ReadAsync(barcodeList);

// Work with the results
foreach (var result in batchResults)
{
    string barcodeValue = result.Text;
    Console.WriteLine(barcodeValue);
}
// Create a list of file paths containing barcode images
List<string> barcodeList = new List<string>
{
    @"D:\Barcode Images\barcode1.jpg",
    @"D:\Barcode Images\barcode2.jpg",
    @"D:\Barcode Images\barcode3.jpg"
};

// Read barcodes asynchronously from multiple files
var batchResults = BarcodeReader.ReadAsync(barcodeList);

// Work with the results
foreach (var result in batchResults)
{
    string barcodeValue = result.Text;
    Console.WriteLine(barcodeValue);
}
$vbLabelText   $csharpLabel

Primeiramente, uma lista é criada para armazenar o caminho do arquivo de todas as imagens de código de barras. Em seguida, a função ReadAsync é chamada, que aceita um argumento tipo List<string> e retorna os dados. Este método lê códigos de barras de várias imagens em paralelo. Múltiplos threads serão iniciados e geridos automaticamente para melhorar o desempenho em tarefas de leitura de códigos de barras em lote.

Leitura de Código QR

O uso de códigos QR está aumentando rapidamente. Portanto, esta seção mostrará como ler códigos QR usando C#.

Código QR

C# Barcode Scanner Tutorial Passo-a-Passo, Figura 8: O código QR usado nesta demonstração O código QR usado nesta demonstração

Considere o seguinte exemplo de código:

// Read the QR code from an image file
var qrCodeResult = BarcodeReader.Read(@"D:\Barcode Images\QRcode.jpeg");

// Iterate through each result and print its text
foreach (var result in qrCodeResult)
{
    Console.WriteLine(result.Text);
}
// Read the QR code from an image file
var qrCodeResult = BarcodeReader.Read(@"D:\Barcode Images\QRcode.jpeg");

// Iterate through each result and print its text
foreach (var result in qrCodeResult)
{
    Console.WriteLine(result.Text);
}
$vbLabelText   $csharpLabel

A mesma função Read discutida acima é usada para ler o Código QR. Esta é a simplicidade provida pela biblioteca IronBarcode, permitindo que a mesma função e código sejam usados para diferentes fontes de imagem.

Saída

C# Barcode Scanner Tutorial Passo-a-Passo, Figura 9: A saída do Console do leitor de código QR A saída do console do leitor de código QR

Resumo

Este tutorial apresentou uma maneira muito fácil de ler códigos de barras a partir de uma única imagem, ler códigos de barras de um documento PDF e ler códigos de barras de múltiplas imagens e documentos em paralelo. Usamos a mesma função para diferentes funcionalidades, fornecendo desempenho e usabilidade ao mesmo tempo. IronBarcode oferece a funcionalidade de gerar códigos de barras e códigos QR com diferentes configurações. Existem muitas funcionalidades que não podem ser discutidas no mesmo artigo. Por favor, clique na página de documentação para mais exploração do IronBarcode.

IronBarcode faz parte da Iron Software Suite. Esta suíte contém outras bibliotecas muito úteis, como IronPDF para leitura e escrita de arquivos PDF, IronXL para manipulação de arquivos Excel, IronOCR para leitura de texto de imagens, e IronWebScraper para extração de dados de diferentes websites. Você pode adquirir a Iron Suite completa pelo preço de duas bibliotecas individuais.

Perguntas frequentes

Como posso criar um leitor de código de barras em C#?

Para criar um leitor de código de barras em C#, você pode usar o IronBarcode. Comece configurando um projeto no Visual Studio, instalando o pacote NuGet IronBarcode e utilizando a classe BarcodeReader para ler códigos de barras de arquivos de imagem ou PDF.

Quais tipos de código de barras podem ser lidos usando uma biblioteca de código de barras .NET?

O IronBarcode consegue ler uma ampla variedade de tipos de códigos de barras, incluindo Code 39/93/128, UPC A/E, EAN 8/13, ITF, RSS 14 / Expanded, Databar, Codabar, Aztec, Data Matrix, MaxiCode, PDF417, MSI, Plessey, USPS e códigos QR.

É possível ler códigos de barras de arquivos PDF em C#?

Sim, o IronBarcode permite ler códigos de barras de arquivos PDF usando o método ReadPdf , que escaneia todo o documento PDF em busca de imagens de código de barras e retorna seus dados.

É possível ler vários códigos de barras de diferentes arquivos de imagem em C#?

Sim, você pode usar a função ReadAsync no IronBarcode para ler vários códigos de barras de diferentes arquivos de imagem simultaneamente, aproveitando o processamento assíncrono para obter melhor desempenho.

Como faço para instalar uma biblioteca .NET para funcionalidade de código de barras?

Para instalar o IronBarcode, utilize o Console do Gerenciador de Pacotes no Visual Studio com o comando Install-Package Barcode , que adicionará a biblioteca a partir da fonte do pacote NuGet.

Os códigos QR podem ser lidos usando o mesmo método que os códigos de barras?

Sim, você pode ler códigos QR usando a mesma função Read no IronBarcode, permitindo o processamento consistente de códigos de barras e códigos QR em diversas fontes de imagem.

Quais são as vantagens de usar o IronBarcode para leitura de códigos de barras?

O IronBarcode é fácil de usar, eficiente e adaptável. Ele suporta diversos tipos de códigos de barras e fornece APIs simples para leitura e gravação de códigos de barras e códigos QR, tornando-o ideal para aplicações .NET.

Quais bibliotecas estão incluídas no pacote Iron Software Suite?

O pacote de Iron Software inclui bibliotecas como IronPDF para manipulação de PDFs, IronXL para manipulação de arquivos Excel, IronOCR para reconhecimento óptico de caracteres e IronWebScraper para extração de dados da web.

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