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. IronQR torna isso direto: carregue a imagem, passe 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, escaneie-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 embutido em um código QR, carregue a imagem em um QrImageInput, passe 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}");
$vbLabelText   $csharpLabel

A propriedade Value retorna a string decodificada bruta exatamente como foi codificada: uma URL, um número, texto livre ou qualquer outro dado. O método Read() sempre retorna um IEnumerable<QrResult>, mesmo quando apenas um código QR está presente. Se a imagem contiver múltiplos códigos QR, itere com foreach (var result in results) para processar cada um. 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 o quadro completo do que foi escaneado 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})");
}
$vbLabelText   $csharpLabel

Saída

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

Quais propriedades o QrResult expõe?

QrResult expõe as seguintes propriedades após um escaneamento bem-sucedido:

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, populado quando Value é um URL absoluto válido. Use-o para abrir links, validar domínios, ou extrair componentes da URL. Retorna null se o valor não for um URL.
Points PointF[] Quatro coordenadas de canto marcando a posição do código QR na imagem fonte, ordenadas [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.

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 Downloads 61,359 | Versão: 2026.3 acaba de ser lançado
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.