Como Ler Valores de Código QR em C

This article was translated from English: Does it need improvement?
Translated
View the article in English

Extraia texto decodificado de qualquer imagem de código QR instantaneamente. Obtenha o valor de string bruto pronto para exibir, armazenar ou processar em sua aplicação.

Ler o valor de um código QR é o primeiro passo em qualquer fluxo de trabalho de escaneamento. Um terminal de pagamento precisa do ID da transação embutido em um código QR. Um sistema de armazenamento precisa da referência do produto em uma etiqueta. Um validador de bilhetes precisa do código de reserva impresso em um passe de evento. O IronQR torna isso simples: carregue a imagem, passe-a para QrReader e leia a string decodificada diretamente do resultado.

Este guia demonstra como extrair os valores de código QR das imagens usando a biblioteca IronQR. Desenvolvedores que ainda não geraram um código QR devem começar com o guia Criar Código QR como Imagem primeiro.

Início Rápido: Leia um Valor de Código QR

Carregue uma imagem, digitalize-a com QrReader e extraia a string decodificada.

  1. Instale IronQR com o Gerenciador de Pacotes NuGet

    PM > Install-Package IronQR
  2. Copie e execute este trecho de código.

    var input = new QrImageInput("qr-code.png");
    var results = new QrReader().Read(input);
    Console.WriteLine(results.First().Value);
  3. Implante para testar em seu ambiente de produção.

    Comece a usar IronQR em seu projeto hoje com uma avaliação gratuita

    arrow pointer

Como faço para ler um valor de código QR de uma imagem?

Para extrair o valor incorporado em um código QR, carregue a imagem em um QrImageInput, passe-a para QrReader.Read() e acesse a propriedade Value no QrResult retornado. O método retorna uma coleção, um resultado por cada código QR encontrado na imagem.

Entrada

O código QR abaixo codifica https://ironsoftware.com e será escaneado para extrair seu valor.

Código QR codificando https://ironsoftware.com usado como entrada para escaneamento
:path=/static-assets/qr/content-code-examples/how-to/read-qr-code-value.cs
using IronQr;
using System.Drawing;

// Import image
var inputImage = Image.FromFile("sample.jpg");

// Load the asset into QrImageInput
QrImageInput imageInput = new QrImageInput(inputImage);

// Create a QR Reader object
QrReader reader = new QrReader();

// Read the input and get all embedded QR codes
IEnumerable<QrResult> results = reader.Read(imageInput);

// Display the value of the first QR code found
Console.WriteLine($"QR code value is {results.First().Value}");
Imports IronQr
Imports System.Drawing
Imports System.Linq

' Import image
Dim inputImage As Image = Image.FromFile("sample.jpg")

' Load the asset into QrImageInput
Dim imageInput As New QrImageInput(inputImage)

' Create a QR Reader object
Dim reader As New QrReader()

' Read the input and get all embedded QR codes
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)

' Display the value of the first QR code found
Console.WriteLine($"QR code value is {results.First().Value}")
$vbLabelText   $csharpLabel

A propriedade Value retorna a string decodificada bruta exatamente como foi codificada: uma URL, um número, texto livre ou quaisquer outros dados. O método Read() sempre retorna um IEnumerable<QrResult>, mesmo quando apenas um código QR está presente. Se a imagem contiver vários códigos QR, itere com foreach (var result in results) para processar cada um deles. Proteja com results.Any() antes de chamar .First() para lidar com imagens onde nenhum código QR é encontrado.

Saída

Saída no console mostrando o valor decodificado do código QR https://ironsoftware.com

Como faço para ler todas as propriedades do código QR?

Cada QrResult expõe três propriedades que, juntas, fornecem a imagem completa do que foi digitalizado e onde foi encontrado na imagem. Usando o mesmo código QR de entrada de cima:

:path=/static-assets/qr/content-code-examples/how-to/read-qr-code-value-properties.cs
using IronQr;
using IronSoftware.Drawing;

AnyBitmap inputImage = AnyBitmap.FromFile("sample.jpg");

QrImageInput imageInput = new QrImageInput(inputImage);
QrReader reader = new QrReader();
IEnumerable<QrResult> results = reader.Read(imageInput);

QrResult result = results.First();

// Decoded text content of the QR code
Console.WriteLine($"Value: {result.Value}");

// Parsed URL — populated when Value is a valid URL, null otherwise
Console.WriteLine($"Url:   {result.Url}");

// Corner coordinates of the QR code in the image [TL, TR, BL, BR]
string[] labels = { "Top-Left", "Top-Right", "Bottom-Left", "Bottom-Right" };
for (int i = 0; i < result.Points.Length; i++)
{
    Console.WriteLine($"{labels[i]}: ({result.Points[i].X}, {result.Points[i].Y})");
}
Imports IronQr
Imports IronSoftware.Drawing

Dim inputImage As AnyBitmap = AnyBitmap.FromFile("sample.jpg")

Dim imageInput As New QrImageInput(inputImage)
Dim reader As New QrReader()
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)

Dim result As QrResult = results.First()

' Decoded text content of the QR code
Console.WriteLine($"Value: {result.Value}")

' Parsed URL — populated when Value is a valid URL, Nothing otherwise
Console.WriteLine($"Url:   {result.Url}")

' Corner coordinates of the QR code in the image [TL, TR, BL, BR]
Dim labels As String() = {"Top-Left", "Top-Right", "Bottom-Left", "Bottom-Right"}
For i As Integer = 0 To result.Points.Length - 1
    Console.WriteLine($"{labels(i)}: ({result.Points(i).X}, {result.Points(i).Y})")
Next i
$vbLabelText   $csharpLabel

Saída

Saída no console mostrando as propriedades Valor, Url e Pontos lidas de um código QR

Quais propriedades QrResult expõe?

QrResult expõe as seguintes propriedades após uma verificação bem-sucedida:

Propriedade Tipo Descrição
Value string A string decodificada bruta exatamente como codificada. Pode conter um URL, texto simples, ID numérico, JSON ou qualquer outro dado. Esta é a principal propriedade para a maioria das aplicações.
Url Uri Um objeto Uri analisado é preenchido quando Value é uma URL absoluta válida. Use-o para abrir links, validar domínios, ou extrair componentes da URL. Retorna null se o valor não for uma URL.
Points PointF[] As coordenadas dos quatro cantos que marcam a posição do código QR na imagem de origem, ordenadas como [Top-Left, Top-Right, Bottom-Left, Bottom-Right]. Use-o para desenhar caixas delimitadoras, cortar regiões ou calcular a área de varredura.

Quais são os casos de uso comuns para leitura de valor de QR Code?

  • Terminais de pagamento: Decodifique uma URL de transação ou ID de referência do QR code de um cliente para iniciar um fluxo de pagamento.
  • Validação de bilhetes: Extraia uma referência de reserva de um QR code impresso ou na tela para verificar a entrada em eventos.
  • Gerenciamento de inventário: Leia números de série de produtos ou SKUs a partir de etiquetas de armazém para atualizar registros de estoque.
  • Verificação de documentos: Obtenha um ID de registro ou hash de um QR code carimbado em um documento legal ou governamental.
  • Autenticação de usuários: Decode um token de uso único de um QR code para completar uma etapa de login com dois fatores.

Para mais padrões de leitura de QR codes, explore o guia Ler QR Codes de Imagem e o conjunto completo de funcionalidades do IronQR.

Perguntas frequentes

Como posso ler valores de códigos QR em C#?

Você pode usar IronQR em C# para ler valores de códigos QR. O método QrReader.Read() permite que você extraia a string decodificada de um código QR usando QrResult.Value.

Qual método é usado para decodificar códigos QR no IronQR?

IronQR utiliza o método QrReader.Read() para decodificar códigos QR, permitindo que você extraia dados como textos e URLs.

IronQR pode extrair URLs de códigos QR?

Sim, IronQR pode analisar URLs de códigos QR usando a propriedade QrResult.Url após decodificar o código QR.

É possível obter as coordenadas dos cantos de um código QR usando IronQR?

IronQR fornece a propriedade QrResult.Points, que recupera as coordenadas dos cantos do código QR, dando-lhe dados de localização precisos.

O que é QrResult.Value no IronQR?

QrResult.Value é uma propriedade no IronQR que contém o valor da string decodificada do código QR uma vez processado por QrReader.Read().

IronQR suporta a leitura de múltiplos tipos de dados de códigos QR?

Sim, IronQR suporta a leitura de vários tipos de dados, incluindo textos, URLs e coordenadas de códigos QR, oferecendo funcionalidade versátil para diferentes aplicações.

Quão precisa é a função de decodificação de código QR no IronQR?

IronQR é projetado para fornecer decodificação de códigos QR altamente precisa, extraindo eficientemente informações detalhadas como valores, URLs e pontos de canto.

IronQR pode ser usado tanto para códigos QR estáticos quanto dinâmicos?

Sim, IronQR pode decodificar tanto códigos QR estáticos quanto dinâmicos, tornando-se uma ferramenta flexível para diferentes aplicações de códigos QR.

Qual linguagem de programação é compatível com IronQR?

IronQR é compatível com C#, permitindo que desenvolvedores integrem facilmente capacidades de leitura de códigos QR em suas aplicações .NET.

Existe uma maneira de testar a leitura de códigos QR com IronQR?

Você pode testar a leitura de códigos QR em IronQR usando códigos QR de exemplo e o código de exemplo fornecido na documentação, garantindo que a integração atenda às necessidades do seu projeto.

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
Pronto para começar?
Nuget Baixar 67,270 | Versão: 2026.5 just released
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronQR
executar um exemplo Veja seu URL se transformar em um código QR.