Cómo leer el tipo de código QR en C
Identifica el formato de cualquier código QR escaneado en tiempo de ejecución. Lea QrResult.QrType para detectar la simbología y construir lógica de procesamiento consciente del tipo para diversas fuentes de entrada.
Cuando una aplicación acepta códigos QR de múltiples fuentes, el formato no siempre es predecible. Una plataforma de logística podría recibir códigos QR estándar de etiquetas de envío junto con códigos Micro QR compactos de etiquetas de productos. Un sistema de procesamiento de documentos podría escanear códigos incrustados en PDFs junto con los impresos en medios físicos. Leer QrResult.QrType proporciona a la aplicación visibilidad sobre qué formato fue detectado, haciendo posible validar la entrada, dirigir los datos al manejador correcto, o registrar formatos no soportados para revisión.
Esta guía demuestra cómo recuperar el formato del código QR de los resultados del escaneo usando la biblioteca IronQR. Los desarrolladores que aún no han escaneado un código QR deben comenzar con la guía Leer códigos QR desde una imagen primero.
Quickstart: Leer un tipo de código QR
Cargue una imagen, escanéela con QrReader, y acceda al formato detectado.
-
Instala IronQR con el Administrador de Paquetes NuGet
PM > Install-Package IronQR -
Copie y ejecute este fragmento de código.
var input = new QrImageInput("qr-code.png"); var results = new QrReader().Read(input); Console.WriteLine(results.First().QrType); -
Despliegue para probar en su entorno real
Comienza a usar IronQR en tu proyecto hoy mismo con una prueba gratuita
Flujo de trabajo mínimo (5 pasos)
- Descargue la biblioteca C# de IronQR para leer tipos de códigos QR
- Cargue la imagen y envuélvala en un
QrImageInput - Cree una instancia de
QrReadery llame aReadcon la entrada - Acceda al formato detectado a través de
QrResult.QrType - Use un
switchenQrEncodingpara enrutar el procesamiento por formato
¿Cómo leo el tipo de código QR?
Para leer el tipo de un código QR, cargue la imagen en un QrImageInput, pásela a un QrReader.Read(), y acceda a QrType en el QrResult devuelto. La propiedad devuelve un valor de enumeración QrEncoding que identifica la simbología detectada.
Entrada
El código QR a continuación codifica https://ironsoftware.com y se escaneará para extraer su 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 devuelve un valor de enumeración QrEncoding como QrEncoding.QRCode, QrEncoding.MicroQRCode, o QrEncoding.RMQRCode. Esto lo hace seguro para usar directamente en una declaración switch sin analizar o comparar cadenas.
Resultado
¿Cómo enruto el procesamiento por formato de código QR?
Cuando una aplicación recibe códigos QR de múltiples fuentes, no todos los ingresos serán del mismo formato. Utilice un switch en QrResult.QrType para dirigir cada código detectado al manejador correcto basado en su valor QrEncoding. Esto mantiene la lógica específica del formato aislada y facilita la adición de nuevas ramas de formato.
Usando el mismo código QR de entrada de arriba:
: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 apunta a un valor QrEncoding específico. La rama QrType captura cualquier formato no manejado explícitamente, por lo que el bucle nunca falla silenciosamente con una entrada inesperada. Agrega más casos a medida que la aplicación necesite admitir formatos adicionales.
Resultado
¿Qué devuelve QrResult.QrType?
QrResult.QrType es una propiedad QrEncoding enum en cada QrResult que identifica la simbología detectada por el escáner. Se llena automáticamente durante QrReader.Read() y no requiere configuración adicional. Agregue using IronQr.Enum; para utilizar los valores QrEncoding directamente en un switch.
| Valor | Descripción |
|---|---|
QrEncoding.QRCode |
Código QR estándar, el formato más común utilizado en todas las industrias |
QrEncoding.MicroQRCode |
Variante compacta diseñada para superficies pequeñas con área de impresión limitada |
QrEncoding.RMQRCode |
Código QR Micro rectangular optimizado para formas de etiquetas estrechas y alargadas (rMQR) |
QrType es de solo lectura y refleja lo que el escáner detectó en la imagen. Su valor no depende de cómo se generó el código QR.
¿Cuáles son los casos de uso comunes para QrType?
- Logística y envío: Detecta si una etiqueta lleva un código QR estándar o un Micro QR compacto y enruta cada uno al canal de análisis correcto.
- Procesamiento de documentos: Valida que un documento escaneado contenga el formato esperado antes de extraer su valor para la coincidencia de registros.
- Quioscos multiformato: Acepta diferentes formatos de QR en una sola estación y despacha cada uno al manejador apropiado sin intervención manual.
- Auditoría y cumplimiento: Registra el tipo de simbología junto con los valores decodificados para crear un registro verificable de formatos de entrada a través de lotes.
- Control de calidad: Verifica que los códigos QR generados se escaneen como el tipo previsto, confirmando que el resultado coincide con la especificación.
Para más información sobre cómo leer datos del código QR después de detectar el tipo, consulta la guía Leer Valor del Código QR y el conjunto completo de características de IronQR.
Preguntas Frecuentes
¿Cuál es el propósito de QrResult.QrType en IronQR?
QrResult.QrType en IronQR se utiliza para detectar la simbología de un código QR escaneado, permitiendo un procesamiento inteligente basado en formato en tus aplicaciones de C#.
¿Cómo puedo leer un tipo de código QR usando IronQR?
Para leer un tipo de código QR usando IronQR, puedes usar el método QrReader.Read() en un QrImageInput. Esto te permitirá acceder al QrResult.QrType, que proporciona información sobre el tipo específico de código QR escaneado.
¿Por qué es importante detectar el tipo de código QR en aplicaciones C#?
Detectar el tipo de código QR es importante en aplicaciones C# porque permite a los desarrolladores procesar códigos QR inteligentemente basados en su formato, asegurando un manejo adecuado y extracción de datos.
¿Puede IronQR manejar diferentes simbologías de código QR?
Sí, IronQR puede manejar diferentes simbologías de código QR utilizando QrResult.QrType para identificar y procesar diversos tipos de códigos QR con precisión.
¿Cuál es el rol de QrReader.Read() en el escaneo de códigos QR?
QrReader.Read() es un método en IronQR que escanea códigos QR desde un QrImageInput, permitiéndote recuperar el tipo de código QR y otra información relevante para procesamiento posterior.
¿Es posible procesar múltiples tipos de códigos QR con IronQR?
Sí, IronQR te permite procesar múltiples tipos de códigos QR utilizando la propiedad QrResult.QrType para identificar y manejar cada código QR según su simbología.
¿Cuáles son los beneficios de usar IronQR para leer códigos QR en C#?
Usar IronQR para leer códigos QR en C# proporciona beneficios como la detección precisa de tipos de códigos QR, procesamiento inteligente basado en formato e integración fluida con aplicaciones en C#.
¿Cómo mejora IronQR la eficiencia del procesamiento de códigos QR?
IronQR mejora la eficiencia del procesamiento de códigos QR proporcionando herramientas como QrReader.Read() y QrResult.QrType, que agilizan la identificación y manejo de varios tipos de códigos QR en tus proyectos de C#.

