
Como ler códigos QR em C#
Na era digital de hoje, códigos QR (Código de Resposta Rápida) são amplamente usados para acesso rápido à informação e compartilhamento de dados. Como desenvolvedor C#, ter um scanner de QR confiável em seu kit de ferramentas é essencial para criar aplicações versáteis. Quer seja para escanear ingressos, verificar a autenticidade de produtos ou agilizar processos de inventário, um scanner C# QR capacita suas aplicações a ler e interpretar códigos QR de forma eficiente. Em C#, temos muitas bibliotecas de código QR, mas algumas delas são mais eficientes. Muitas delas são open source, e seu código-fonte pode ser encontrado no GitHub. Neste artigo, usaremos o IronQR para escanear códigos QR.
Introdução ao IronQR

Como um scanner de código QR C#, o IronQR é uma biblioteca poderosa que torna as tarefas de operações de QR diretas. Projetado especificamente para C# e .NET, o IronQR fornece uma API simples tanto para geração quanto para escanear códigos QR, garantindo que você possa integrar rapidamente essa funcionalidade em seus projetos.
IronQR se destaca pela sua facilidade de uso e flexibilidade. Quer você esteja desenvolvendo um aplicativo de desktop, um serviço web ou um aplicativo móvel, o IronQR oferece as ferramentas necessárias. Ele suporta vários formatos de código QR, mesmo fornecendo imagens multipáginas como imagens gif, e oferece processamento em alta velocidade, tornando-se uma escolha confiável para qualquer projeto. Neste artigo, abordaremos a configuração do IronQR, a escanear QR básico e alguns recursos avançados. Ao final, você estará pronto para usar o IronQR para aprimorar suas aplicações com capacidades de códigos QR.
Lendo Códigos QR Usando IronQR
- Configurar Projeto de Console C# no Visual Studio.
- Instalar a biblioteca de Código QR C# no Projeto C#.
- Importar namespace necessário.
- Carregar o QR no programa.
- Escanear o QR usando a biblioteca de Código QR C#.
- Exibir o valor do Código QR no console.
Configuração do IronQR no Seu Projeto C#
Pré-requisitos para Usar IronQR
Antes de integrar o IronQR ao seu projeto C#, certifique-se de ter os seguintes pré-requisitos:
- Visual Studio: Uma versão atualizada instalada em sua máquina.
- .NET Framework: O IronQR é compatível com o .NET Framework 4.0 e superior, portanto, certifique-se de que seu projeto tem como alvo uma versão compatível.
- Gerenciador de Pacotes NuGet: O IronQR é distribuído via NuGet, portanto, você precisa do Gerenciador de Pacotes NuGet no Visual Studio.
Instalando IronQR via NuGet
Para instalar o IronQR, siga estes passos:
- Abra seu projeto no Visual Studio.
- Navegue até o Gerenciador de Pacotes NuGet: Clique com o botão direito no seu projeto no Solution Explorer e selecione "Gerenciar Pacotes NuGet."
- Procure por IronQR: No Gerenciador de Pacotes NuGet, digite "IronQR" na barra de pesquisa.
- Instale o IronQR: Selecione o pacote IronQR nos resultados da pesquisa e clique em "Instalar".
Alternativamente, você pode instalar o IronQR usando o Console do Gerenciador de Pacotes NuGet com o seguinte comando:
Este comando baixa e adiciona o IronQR ao seu projeto, tornando suas funcionalidades disponíveis para você usar. Após instalar o IronQR, você pode começar a usá-lo em seu projeto. Certifique-se de incluir as diretivas necessárias e configurar quaisquer configurações iniciais requeridas pela sua aplicação.
Steps to Scan QR Code in C#
Usando Namespaces e Estrutura de Classe
Para começar, é essencial incluir os namespaces necessários e configurar a estrutura de classe para sua aplicação C#. Isso garante que todas as bibliotecas e classes requeridas estejam disponíveis para uso. Os namespaces IronQRCode e IronSoftware.Drawing estão incluídos para suas respectivas funcionalidades. A classe é definida dentro da classe Program, e o método Main serve como ponto de entrada da aplicação.
using IronQRCode;
using IronSoftware.Drawing;
class Program
{
static void Main(string[] args)
{
// The main method is the program's entry point
}
}Imports IronQRCode
Imports IronSoftware.Drawing
Friend Class Program
Shared Sub Main(ByVal args() As String)
' The main method is the program's entry point
End Sub
End ClassCarregando a Imagem do Código QR do Arquivo
O primeiro passo em nosso processo de escaneamento de código QR é carregar a imagem que contém o código QR. Neste exemplo, usamos a classe AnyBitmap do namespace IronSoftware.Drawing. O método AnyBitmap.FromFile permite carregar uma imagem a partir de um caminho de arquivo especificado.
Este método é flexível e pode lidar com vários formatos de imagem. Aqui, a imagem do código QR está localizada na área de trabalho do usuário no caminho QR.png. Chamando AnyBitmap.FromFile("QR.png"), carregamos a imagem e a armazenamos na variável qrImage. Esta variável agora contém os dados da imagem, que serão usados em etapas posteriores.
// Load the QR code image from the file path
var qrImage = AnyBitmap.FromFile("QR.png");' Load the QR code image from the file path
Dim qrImage = AnyBitmap.FromFile("QR.png")Inicializando a Entrada da Imagem do Código QR
Após carregar a imagem, o próximo passo é criar um objeto QrCode. Este objeto serve como entrada para o leitor de código QR. A classe QrCode é projetada para encapsular a imagem e prepará-la para a digitalização. Ao inicializar o objeto QrCode com a imagem carregada (qrImage), garantimos que a imagem esteja corretamente formatada e pronta para ser processada pelo leitor de código QR.
// Setting the image as a QR input
var qrImageInput = new QrCode(qrImage);' Setting the image as a QR input
Dim qrImageInput = New QrCode(qrImage)Criando um Leitor de Código QR
Para ler o código QR da imagem, precisamos de um leitor de código QR. Isso é alcançado criando uma instância da classe BarcodeReader. A classe BarcodeReader é projetada para lidar com o processo de decodificação de códigos QR de várias fontes de entrada, incluindo imagens.
Instanciando a classe BarcodeReader com BarcodeReader qrReader = new BarcodeReader();, configuramos um leitor de código QR capaz de processar a imagem de entrada do código QR e extrair as informações codificadas. A instância BarcodeReader está agora pronta para executar a operação de digitalização.
// Instantiate a QR reader for processing the image input
var qrReader = new BarcodeReader();' Instantiate a QR reader for processing the image input
Dim qrReader = New BarcodeReader()Lendo o Código QR da Entrada da Imagem
Com o leitor de código QR inicializado, podemos proceder para ler o código QR da entrada da imagem. Isso é feito usando o método Read da classe BarcodeReader. O método Read leva o objeto QrCode como parâmetro e retorna um IEnumerable<QrResult> contendo os resultados da digitalização do código QR.
O código IEnumerable<QrResult> qrResults = qrReader.Read(qrImageInput); executa o processo de leitura e armazena os resultados na variável qrResults. Esta variável agora contém uma coleção de resultados de códigos QR, cada um representando um código QR encontrado na imagem.
// Execute the scanning process and store results
IEnumerable<QrResult> qrResults = qrReader.Read(qrImageInput);' Execute the scanning process and store results
Dim qrResults As IEnumerable(Of QrResult) = qrReader.Read(qrImageInput)Extraindo o Valor do Primeiro Código QR Encontrado
Após ler os códigos QR da imagem, o próximo passo é extrair o valor do primeiro código QR encontrado. Este é tipicamente o dado codificado no código QR, como um URL, texto ou outras informações. A variável qrResults contém uma coleção de resultados de códigos QR, e usamos o método First para acessar o primeiro resultado da coleção.
O código var qrCodeValue = qrResults.First().Value; recupera o valor do primeiro código QR e o armazena na variável qrCodeValue. Esta variável agora contém a informação decodificada do código QR, que pode ser usada conforme necessário.
// Get the value of the first QR code found
var qrCodeValue = qrResults.First().Value;' Get the value of the first QR code found
Dim qrCodeValue = qrResults.First().ValueImprimindo o Valor do Código QR no Console
Finalmente, imprimimos o valor do código QR extraído no console para verificar se o código QR foi lido e decodificado corretamente. Isso é feito usando o método Console.WriteLine, que exibe o valor na janela do console.
O código Console.WriteLine(qrCodeValue); exibe o valor do código QR decodificado, permitindo-nos confirmar que o processo de digitalização do código QR foi bem-sucedido. Esta etapa é crucial para depuração e para garantir que a aplicação interprete corretamente os dados do código QR.
// Output the decoded value to the console
Console.WriteLine(qrCodeValue);' Output the decoded value to the console
Console.WriteLine(qrCodeValue)
Exemplo do Mundo Real
Os códigos QR tornaram-se populares em sistemas de pagamento digital. Os clientes podem fazer pagamentos escaneando um código QR com seus dispositivos móveis. Instituições financeiras e provedores de serviços de pagamento podem integrar o IronQR em suas aplicações C# para facilitar transações seguras e rápidas. Os códigos QR podem conter detalhes de pagamento que, quando escaneados, completam a transação sem problemas.
Conclusão
IronQR é uma ferramenta poderosa para desenvolvedores C# que procuram adicionar capacidade de escaneamento e geração de códigos QR às suas aplicações. Sua facilidade de uso, flexibilidade e conjunto robusto de recursos o tornam uma escolha ideal para várias aplicações do mundo real, desde gerenciamento de eventos e rastreamento de inventário até pagamentos digitais e campanhas de marketing. Ele também pode escanear códigos QR do fluxo de vídeo. Da mesma forma, se você está procurando uma biblioteca para leitura de códigos de barras, deve visitar o IronBarcode que oferece funcionalidade e flexibilidade semelhante como um leitor de códigos de barras poderoso.
IronQR oferece uma avaliação gratuita, permitindo que você explore seus recursos antes de se comprometer com uma compra. Se você decidir usar IronQR para seus projetos, as licenças começam em $999, proporcionando uma solução econômica para integrar funcionalidades avançadas de código QR em seus aplicativos. Seja você está construindo um pequeno projeto ou uma aplicação empresarial em larga escala, o IronQR equipa você com as ferramentas necessárias para ter sucesso.

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 bem estruturados e visualmente atraentes.
Artigos relacionados


