Como Ler o Tipo de Código QR em C
Identifica o formato de qualquer código QR escaneado em tempo de execução. Lê QrResult.QrType para detectar a simbologia e construir uma lógica de processamento com reconhecimento de 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. A leitura de QrResult.QrType permite que o aplicativo veja qual formato foi detectado, possibilitando a validação da entrada, o encaminhamento de dados para o manipulador correto ou o registro de 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, digitalize-a com QrReader e acesse o formato detectado.
-
Instale IronQR com o Gerenciador de Pacotes NuGet
PM > Install-Package IronQR -
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); -
Implante para testar em seu ambiente de produção.
Comece a usar IronQR em seu projeto hoje com uma avaliação gratuita
Fluxo de trabalho mínimo (5 etapas)
- Baixe a biblioteca IronQR C# para ler tipos de código QR
- Carregue a imagem e envolva-a em um
QrImageInput - Crie uma instância de
QrReadere chameReadcom a entrada - Acesse o formato detectado através de
QrResult.QrType - Use um
switchemQrEncodingpara direcionar o processamento pelo formato
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 um QrReader.Read() e acesse QrType no QrResult retornado. A propriedade retorna um valor de enumeração QrEncoding que identifica a simbologia detectada.
Entrada
O código QR abaixo codifica https://ironsoftware.com e será escaneado para extrair seu 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}");
Imports IronQr
Imports System.Drawing
Imports System.Linq
' Import an image containing a QR code
Dim inputImage As Image = Image.FromFile("sample.jpg")
' Load the asset into a QrImageInput object
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 type of the first QR code found
Console.WriteLine($"The QR type is {results.First().QrType}")
QrType retorna um valor de enumeração QrEncoding como QrEncoding.QRCode, QrEncoding.MicroQRCode ou QrEncoding.RMQRCode. Isso torna seguro usá-lo diretamente em uma instrução switch sem análise sintática ou comparação de strings.
Saída
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 em 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;
}
}
Imports IronQr
Imports IronQr.Enum
Imports System.Drawing
' Import an image containing QR codes
Dim inputImage As Image = Image.FromFile("sample.jpg")
' Load the asset into a QrImageInput object
Dim imageInput As New QrImageInput(inputImage)
' Create a QR Reader object
Dim reader As New QrReader()
' Read all embedded QR codes from the image
Dim results As IEnumerable(Of QrResult) = reader.Read(imageInput)
' Route processing based on the detected QR code format
For Each result As QrResult In results
Select Case result.QrType
Case QrEncoding.QRCode
Console.WriteLine($"Standard QR Code: {result.Value}")
Case QrEncoding.MicroQRCode
Console.WriteLine($"Micro QR Code: {result.Value}")
Case QrEncoding.RMQRCode
Console.WriteLine($"RMQR Code: {result.Value}")
Case Else
Console.WriteLine($"Other format ({result.QrType}): {result.Value}")
End Select
Next
Cada case tem como alvo um valor QrEncoding específico. O ramo QrType captura qualquer formato que não seja explicitamente tratado, de modo que o loop nunca falhe silenciosamente em caso de entrada inesperada. Adicione mais casos conforme a aplicação precisa suportar formatos adicionais.
Saída
O que QrResult.QrType retorna?
QrResult.QrType é uma propriedade QrEncoding enum em cada QrResult que identifica a simbologia detectada pelo scanner. É preenchido automaticamente durante QrReader.Read() e não requer nenhuma 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.
Perguntas frequentes
Qual é o propósito de QrResult.QrType no IronQR?
QrResult.QrType no IronQR é usado para detectar a simbologia de um código QR escaneado, permitindo um processamento inteligente baseado em formato em suas aplicações C#.
Como posso ler um tipo de código QR usando IronQR?
Para ler um tipo de código QR usando IronQR, você pode usar o método QrReader.Read() em um QrImageInput. Isso permitirá acessar o QrResult.QrType, que fornece informações sobre o tipo específico de código QR escaneado.
Por que é importante detectar o tipo de código QR em aplicações C#?
Detectar o tipo de código QR é importante em aplicações C# porque permite que os desenvolvedores processem códigos QR de maneira inteligente com base em seu formato, garantindo o manuseio apropriado e extração de dados.
IronQR pode lidar com diferentes simbologias de código QR?
Sim, IronQR pode lidar com diferentes simbologias de código QR usando QrResult.QrType para identificar e processar com precisão vários tipos de códigos QR.
Qual é o papel do QrReader.Read() na leitura de códigos QR?
QrReader.Read() é um método no IronQR que digitaliza códigos QR de um QrImageInput, permitindo que você recupere o tipo de código QR e outras informações relevantes para processamento posterior.
É possível processar vários tipos de códigos QR com IronQR?
Sim, IronQR permite que você processe vários tipos de códigos QR utilizando a propriedade QrResult.QrType para identificar e lidar com cada código QR de acordo com sua simbologia.
Quais são os benefícios de usar IronQR para ler códigos QR em C#?
Usar IronQR para ler códigos QR em C# oferece benefícios como a detecção precisa dos tipos de códigos QR, o processamento inteligente baseado em formato e a integração perfeita com aplicações C#.
Como o IronQR melhora a eficiência do processamento de códigos QR?
IronQR melhora a eficiência do processamento de códigos QR fornecendo ferramentas como QrReader.Read() e QrResult.QrType, que simplificam a identificação e o manuseio de vários tipos de códigos QR em seus projetos C#.

