Como Ler o Tipo de Código QR em C#

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

Identifique o formato de qualquer código QR escaneado em tempo de execução. Leia QrResult.QrType para detectar a simbologia e construir lógica de processamento sensível ao tipo para diversas fontes de entrada.

Quando uma aplicação aceita códigos QR de múltiplas fontes, o formato nem sempre é previsível. Uma plataforma de logística pode receber códigos QR padrão de etiquetas de remessa juntamente com códigos QR Micro compactos de etiquetas de produtos. Um sistema de processamento de documentos pode escanear códigos embutidos em PDFs juntamente com aqueles impressos em mídia física. Ler QrResult.QrType dá ao aplicativo visibilidade sobre qual formato foi detectado, possibilitando validar a entrada, direcionar dados para o manipulador correto ou registrar formatos não suportados para revisão.

Este guia demonstra como recuperar o formato do código QR a partir dos resultados de leitura usando a biblioteca IronQR. Os desenvolvedores que ainda não escanearam um código QR devem começar com o guia Ler Códigos QR de Imagem primeiro.

Início Rápido: Ler um Tipo de Código QR

Carregue uma imagem, escaneie-a com QrReader e acesse o formato detectado.

  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().QrType);
  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 o Tipo de Código QR?

Para ler o tipo de um código QR, carregue a imagem em um QrImageInput, passe-a para QrReader.Read() e acesse QrType no QrResult retornado. A propriedade retorna um valor enum QrEncoding identificando a simbologia detectada.

Entrada

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

Código QR codificando https://ironsoftware.com usado como entrada para detecção de tipo
:path=/static-assets/qr/content-code-examples/how-to/read-qr-code-type.cs
using IronQr;
using System.Drawing;
using System.Linq;

// Import an image containing a QR code
var inputImage = Image.FromFile("sample.jpg");

// Load the asset into a QrImageInput object
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 type of the first QR code found
Console.WriteLine($"The QR type is {results.First().QrType}");
$vbLabelText   $csharpLabel

QrType retorna um valor enum QrEncoding, como QrEncoding.QRCode, QrEncoding.MicroQRCode, ou QrEncoding.RMQRCode. Isso torna seguro usá-lo diretamente em uma instrução switch sem parsing ou comparação de strings.

Saída

Saída do console mostrando o tipo de código QR detectado

Como Faço para Direcionar o Processamento pelo Formato de Código QR?

Quando uma aplicação recebe códigos QR de múltiplas fontes, nem toda entrada será do mesmo formato. Use um switch em QrResult.QrType para direcionar cada código detectado para o manipulador correto com base no seu valor QrEncoding. Isso mantém a lógica específica de formato isolada e torna a adição de novos ramos de formato direta.

Usando o mesmo código QR de entrada de cima:

:path=/static-assets/qr/content-code-examples/how-to/read-qr-code-type-all.cs
using IronQr;
using IronQr.Enum;
using System.Drawing;

// Import an image containing QR codes
var inputImage = Image.FromFile("sample.jpg");

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

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

// Read all embedded QR codes from the image
IEnumerable<QrResult> results = reader.Read(imageInput);

// Route processing based on the detected QR code format
foreach (QrResult result in results)
{
    switch (result.QrType)
    {
        case QrEncoding.QRCode:
            Console.WriteLine($"Standard QR Code: {result.Value}");
            break;
        case QrEncoding.MicroQRCode:
            Console.WriteLine($"Micro QR Code: {result.Value}");
            break;
        case QrEncoding.RMQRCode:
            Console.WriteLine($"RMQR Code: {result.Value}");
            break;
        default:
            Console.WriteLine($"Other format ({result.QrType}): {result.Value}");
            break;
    }
}
$vbLabelText   $csharpLabel

Cada case aponta para um valor QrEncoding específico. O ramo default captura qualquer formato não explicitamente tratado, de modo que o loop nunca falha silenciosamente em entradas inesperadas. Adicione mais casos conforme a aplicação precisa suportar formatos adicionais.

Saída

Saída do console mostrando o resultado do roteamento baseado em formato para cada código QR detectado

O que Retorna QrResult.QrType?

QrType é uma propriedade enum QrEncoding em cada QrResult que identifica a simbologia detectada pelo scanner. É populado automaticamente durante QrReader.Read() e não requer configuração adicional. Adicione using IronQr.Enum; para usar valores QrEncoding diretamente em um switch.

Valor Descrição
QrEncoding.QRCode Código QR padrão, o formato mais comum usado em todas as indústrias
QrEncoding.MicroQRCode Variante compacta projetada para superfícies pequenas com área de impressão limitada
QrEncoding.RMQRCode Código QR Micro Retangular otimizado para formas de etiquetas estreitas e alongadas (rMQR)

QrType é somente leitura e reflete o que o scanner detectou na imagem. Seu valor não depende de como o código QR foi gerado.


Quais são os casos de uso comuns para QrType?

  • Logística e envio: Detecte se uma etiqueta possui um código QR padrão ou um QR Micro compacto e encaminhe cada um para a pipeline de análise correta.
  • Processamento de documentos: Valide que um documento escaneado contém o formato esperado antes de extrair seu valor para correspondência de registros.
  • Quiosques de múltiplos formatos: Aceite diferentes formatos de QR em uma única estação e encaminhe cada um para o manipulador apropriado sem intervenção manual.
  • Auditoria e conformidade: Registre o tipo de simbologia junto aos valores decodificados para criar um registro verificável de formatos de entrada em lotes.
  • Garantia de qualidade: Verifique se os códigos QR gerados são escaneados como o tipo pretendido, confirmando que a saída corresponde à especificação.

Para mais informações sobre a leitura de dados de código QR após a detecção do tipo, veja o guia Ler Valor do Código QR e o conjunto completo de recursos 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.