Ir para o conteúdo do rodapé
USANDO O IRONQR
Como ler um código QR usando o IronQR

Leitor de código QR em C# (Tutorial passo a passo)

A geração sob demanda de novos e variados códigos de barras é um aspecto crucial de muitas aplicações comerciais .NET. A biblioteca IronBarcode torna essa tarefa muito rápida, conveniente e fácil em comparação com outras opções de terceiros. Este tutorial visa ilustrar como isso é possível.

1. Criando Um Novo Projeto

Abra o Visual Studio e vá para o menu Arquivo. Selecione Novo Projeto, e então selecione Aplicação de Console/Formulários do Windows/Aplicação WPF. Códigos de barras também podem ser usados em todos os tipos de aplicações. Além disso, você pode usá-los com aplicativos, como Webform/MVC/MVC Core.

C# Leitor de Código QR (Tutorial Passo a Passo), Figura 1: Configure seu novo projeto Configure seu novo projeto

Digite o nome do projeto e selecione o caminho do arquivo na caixa de texto apropriada no Visual Studio. Em seguida, clique no botão Criar e também selecione o .NET Framework necessário. O projeto agora irá gerar a estrutura para o aplicativo selecionado. Se você selecionou a Aplicação de Console, agora será aberto o arquivo program.cs onde você pode inserir o código e construir/executar a aplicação.

2. Instale o pacote NuGet do IronBarcode

Agora vá para o Solution Explorer no Visual Studio e clique com o botão esquerdo no projeto. No menu pop-up, selecione o Gerenciador de Pacotes NuGet no menu e pesquise por "Barcode" como uma palavra-chave. Selecione o primeiro resultado no diálogo do Pacote NuGet e clique na opção de instalação.

C# Leitor de Código QR (Tutorial Passo a Passo), Figura 2: Instale a biblioteca IronBarcode do Gerenciador de Pacotes NuGet Instale a biblioteca IronBarcode do Gerenciador de Pacotes NuGet

Alternativamente, no Visual Studio siga estas instruções: Vá para Ferramentas > Gerenciador de Pacotes NuGet > Console do Gerenciador de Pacotes

Abra a guia Console do Gerenciador de Pacotes. Digite a linha abaixo:

Install-Package IronQR

C# Leitor de Código QR (Tutorial Passo a Passo), Figura 3: Console do Gerenciador de Pacotes NuGet Console do Gerenciador de Pacotes NuGet

Vá para o link a seguir para saber mais sobre a versão mais recente do Barcode Reader SDK.

https://www.nuget.org/packages/Barcode

Em seguida, o pacote baixará todos os arquivos DLL e também adicionará a referência do arquivo DLL no projeto atual como uma referência de projeto .NET.

O projeto do Visual Studio agora está pronto para usar com o código.

3. Adicionando Referência

Adicione a referência IronBarCode ao código como mostrado abaixo, permitindo o uso das funções disponíveis na biblioteca IronBarcode no .NET Core. Para saber mais sobre o controle do leitor de códigos de barras, leitura de códigos QR, componentes, suporte para tipos de códigos QR e a compatibilidade do SDK do leitor de códigos de barras, consulte este link: https://ironsoftware.com/csharp/barcode/

using IronBarCode;
using IronBarCode;
$vbLabelText   $csharpLabel

4. Criando uma Instância de Código de Barras

BarcodeReader é a classe estática que é usada para ler/criar códigos QR. Pode ser usado sem criar nenhuma instância de objeto para a classe estática BarcodeReader. O controle leitor de código de barras oferece a capacidade de escanear 15 tipos de códigos de barras usando uma única função Read ou ReadAsync. A biblioteca IronBarcode permite a leitura de códigos QR/códigos de barras de várias fontes:

  • String
  • Stream
  • Imagem
  • Bitmap

5. Leia o Código de Barras Usando String

Imagens de códigos QR e barras podem ser facilmente lidas usando a biblioteca de leitores de código de barras .NET. O método Read é uma função estática que escaneará imagens de códigos QR e decodificará códigos QR e códigos de barras em texto. Aceita vários tipos de arquivos de imagem, como bitmap, arquivos PNG, JPEG, TIFF, etc.

Esta função Read extrai dados de código QR/código de barras da imagem e recupera o resultado como o objeto BarcodeResult. Se o arquivo de imagem não for reconhecido pelo código, ele retornará nulo.

O BarcodeResult possui os seguintes valores:

  • Tipo de Código de Barras
  • Valor
  • Texto
  • Valor binário

BarcodeType é um tipo de dado enum e ele retorna o tipo do código de barras da imagem de entrada fornecida. Existem vinte e dois tipos de código de barras suportados pelo IronBarcode. Ele retornará o tipo de código de barras, que é aplicado à imagem de entrada fornecida.

Valor e texto também são valores do tipo objeto disponíveis no BarcodeResult. Ambos valor e texto são tipos de dados de string. Que retorna o valor string do código de barras. O método Read irá ler códigos QR e códigos de barras e obter o valor string da imagem de código de barras fornecida em valor/texto. O valor binário é o tipo de dado byte e retorna o byte da imagem fornecida. Abaixo está o código de resposta rápida que pode ser usado em qualquer Aplicativo Windows Forms .NET ou Aplicações .NET Standard.

// Read a barcode from an image file
BarcodeResult result = BarcodeReader.Read("test.bmp");
// Check if the result is not null and matches the expected text
if (result != null && result.Text == "https://ironsoftware.com/csharp/barcode")
{
    System.Console.WriteLine("Success");
}
// Read a barcode from an image file
BarcodeResult result = BarcodeReader.Read("test.bmp");
// Check if the result is not null and matches the expected text
if (result != null && result.Text == "https://ironsoftware.com/csharp/barcode")
{
    System.Console.WriteLine("Success");
}
$vbLabelText   $csharpLabel

O código acima demonstra como ler códigos QR e códigos de barras usando a biblioteca de leitores de código de barras .NET. O código é simples de usar, mapeando um arquivo do sistema para um objeto Bitmap. Também decodifica o QR/código de barras da imagem e exibe o resultado no objeto. Abaixo estão os códigos QR/códigos de barras fornecidos no código para escanear os dados codificados.

C# Leitor de Código QR (Tutorial Passo a Passo), Figura 4: A entrada do código de barras A entrada do código de barras

6. Ler vários códigos de barras de uma imagem TIFF

O controle leitor de códigos de barras for .NET permite a leitura de múltiplos códigos QR/códigos de barras a partir de um arquivo de imagem usando o mesmo método Read, que é muito fácil de usar.

Abaixo está o código de exemplo para ler vários códigos QR da imagem:

// Configure barcode reader options
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.Code128,
    ExpectMultipleBarcodes = true,
};

// Read multiple barcodes from a TIFF image
BarcodeResult[] multiFrameResults = BarcodeReader.Read("Multiframe.tiff", options);
// Configure barcode reader options
BarcodeReaderOptions options = new BarcodeReaderOptions()
{
    ExpectBarcodeTypes = BarcodeEncoding.Code128,
    ExpectMultipleBarcodes = true,
};

// Read multiple barcodes from a TIFF image
BarcodeResult[] multiFrameResults = BarcodeReader.Read("Multiframe.tiff", options);
$vbLabelText   $csharpLabel

No código acima, os códigos QR são extraídos de imagens de código QR TIFF. O leitor de código de barras .NET escaneia códigos QR da imagem do sistema e retorna o resultado como um array. No código acima, o código de barras para Code128 é o único tipo escaneado. Se houver outros códigos de barras presentes na imagem, eles serão ignorados.

7. Lendo códigos QR e códigos de barras de PDF

Esta seção demonstra como ler o código QR de documentos PDF. A biblioteca de código QR irá escanear todas as páginas e arquivos disponíveis para todos os códigos QR disponíveis, ou focar em um tipo específico de código de barras. Ao usar o IronBarcode, a biblioteca fornece todas as DLLs relevantes necessárias para um leitor de código de barras padrão, portanto, não há necessidade de incluir qualquer outra DLL como referência de projeto .NET.

Abaixo está o código de exemplo que pode ser usado para ler códigos QR/códigos de barras de PDF.

// Read barcodes from each page of a PDF document
PagedBarcodeResult[] pagedResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Process results for each page
foreach (PagedBarcodeResult pageRes in pagedResults)
{
    int pageNumber = pageRes.PageNumber;
    string value = pageRes.Value;
    Bitmap img = pageRes.BarcodeImage;
    BarcodeEncoding barcodeType = pageRes.BarcodeType;
    byte[] binary = pageRes.BinaryValue;
    Console.WriteLine(pageRes.Value);
}
// Read barcodes from each page of a PDF document
PagedBarcodeResult[] pagedResults = BarcodeReader.ReadPdf("MultipleBarcodes.pdf");
// Process results for each page
foreach (PagedBarcodeResult pageRes in pagedResults)
{
    int pageNumber = pageRes.PageNumber;
    string value = pageRes.Value;
    Bitmap img = pageRes.BarcodeImage;
    BarcodeEncoding barcodeType = pageRes.BarcodeType;
    byte[] binary = pageRes.BinaryValue;
    Console.WriteLine(pageRes.Value);
}
$vbLabelText   $csharpLabel

Acima está o código de exemplo para ler códigos QR/códigos de barras de um arquivo PDF a partir de um método ReadPdf simples. Ele também pode fornecer resultados detalhados para cada código de barras e seu tipo.

Conclusão

Os leitores de código de barras .NET fornecem uma maneira simples e fácil de ler códigos QR ou decodificar/criar códigos QR e códigos de barras com etapas simples. A DLL IronBarcode pode ser usada em vários ambientes como Aplicativos Windows Forms .NET, Aplicativos Móveis, Aplicações Web, MAUI, e Blazor usando o .NET Framework ou .NET Standard. Além disso, IronBarcode oferece uma ampla gama de opções de personalização para melhorar a velocidade de leitura de código de barras, como regiões de corte ou multithreading, e a precisão do modelo de ML. IronBarcode oferece uma chave de teste gratuita, ou você pode atualmente comprar cinco produtos da Iron Software pelo preço de apenas dois.

Visite a página de licenciamento para mais informações.

Você também pode baixar um projeto em arquivo zip.

Perguntas frequentes

Como posso ler códigos QR em C#?

É possível ler códigos QR em C# usando a biblioteca IronQR, instalando o pacote NuGet IronBarcode no Visual Studio, adicionando as referências necessárias e utilizando a classe BarcodeReader .

Quais são os passos para iniciar um projeto de leitura de código QR no Visual Studio?

Para iniciar um projeto de leitura de código QR no Visual Studio, crie um novo projeto, instale o pacote NuGet IronBarcode, adicione as referências necessárias e use a classe BarcodeReader para ler códigos QR de diversas fontes.

É possível ler vários códigos QR a partir de uma única imagem em C#?

Sim, a biblioteca IronQR permite ler vários códigos QR de uma única imagem usando o método Read com opções configuradas para múltiplos códigos.

Como posso extrair códigos QR de um documento PDF em C#?

Você pode usar o método ReadPdf da biblioteca IronQR para escanear um documento PDF em busca de códigos QR e obter resultados detalhados de cada página.

Quais opções de personalização estão disponíveis para leitura de código QR em C#?

O IronQR oferece opções de personalização, como definir regiões de recorte, habilitar multithreading e ajustar a precisão do modelo de aprendizado de máquina para melhorar o desempenho da leitura de códigos QR.

O IronQR é adequado para aplicações comerciais?

Sim, o IronQR foi projetado para aplicações comerciais .NET, oferecendo recursos de leitura de código QR confiáveis e eficientes.

Quais ambientes são compatíveis com a leitura de códigos QR com o IronQR?

O IronQR oferece suporte a vários ambientes .NET, incluindo aplicativos Windows Forms, aplicativos móveis, aplicativos da Web, MAUI e Blazor, usando o .NET Framework ou o .NET Standard.

Onde posso encontrar informações sobre licenciamento para usar o IronQR?

Para obter informações sobre licenciamento para uso do IronQR, visite a seção de licenciamento no site da Iron Software.

Jordi Bardia
Engenheiro de Software
Jordi é extremamente proficiente em Python, C# e C++, e quando não está utilizando suas habilidades na Iron Software, dedica-se à programação de jogos. Compartilhando as responsabilidades por testes, desenvolvimento e pesquisa de produtos, Jordi agrega imenso valor à melhoria contínua dos produtos. Essa experiência diversificada o mantém ...
Leia mais

Iron Support Team

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