Cómo establecer niveles de corrección de errores de código QR

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

Tome el control del rendimiento de su generador de código QR. Ajuste la configuración de corrección de errores para crear códigos QR más rápidos y duraderos que puedan soportar daños y aún así escanearse de manera confiable.

La corrección de errores es lo que separa un código QR que se desmorona de uno que sigue funcionando. Cuando una etiqueta impresa se raya, un adhesivo se despega o un póster se desvanece al sol, la corrección de errores determina si el código aún se puede escanear. IronQR permite a los desarrolladores elegir exactamente cuánta resistencia lleva un código QR, desde códigos ligeros optimizados para pantallas digitales hasta códigos robustos construidos para sobrevivir en almacenes y pisos de fábrica.

Esta guía demuestra cómo configurar niveles de corrección de errores utilizando la biblioteca IronQR, equilibrando la densidad de datos contra la tolerancia al daño para cualquier caso de uso. Los desarrolladores nuevos en la generación de códigos QR deben comenzar primero con la guía Crear código QR como imagen.

Inicio rápido: Establecer corrección de errores de código QR

Configura el nivel de corrección de errores a través de QrOptions y genera un código QR resistente.

  1. Instala IronQR con el Administrador de Paquetes NuGet

    PM > Install-Package IronQR
  2. Copie y ejecute este fragmento de código.

    var options = new QrOptions(QrErrorCorrectionLevel.Medium);
    var qrCode = QrWriter.Write("https://example.com", options);
    qrCode.Save().SaveAs("qr-medium.png");
  3. Despliegue para probar en su entorno real

    Comienza a usar IronQR en tu proyecto hoy mismo con una prueba gratuita

    arrow pointer

Comprendiendo los niveles de corrección de errores

Los códigos QR utilizan corrección de errores Reed-Solomon para seguir siendo escaneables incluso cuando están parcialmente dañados u oscurecidos. La enumeración QrErrorCorrectionLevel en IronQR proporciona cuatro niveles, cada uno intercambiando capacidad de datos por una mayor resistencia:

Nivel Capacidad de recuperación Lo mejor para
QrErrorCorrectionLevel.Low ~7% de daño Pantallas digitales, entornos controlados
QrErrorCorrectionLevel.Medium ~15% de daño Uso general, durabilidad moderada
QrErrorCorrectionLevel.High ~25% de daño Materiales impresos, señalización exterior
QrErrorCorrectionLevel.Highest ~30% de daño Etiquetas industriales, condiciones adversas

Una corrección de errores más alta agrega más módulos de redundancia, lo que aumenta la densidad visual del código QR. Esto también afecta el tamaño de la imagen generada, por lo que los desarrolladores pueden necesitar ajustar las dimensiones en consecuencia. El nivel más bajo que cumple con los requisitos de durabilidad mantiene el código compacto y rápido de escanear.

Configurando el nivel de corrección de errores

Para establecer el nivel de corrección de errores, pase el valor QrErrorCorrectionLevel deseado al constructor QrOptions. Luego pase estas opciones a QrWriter.Write() al generar el código QR.

En este ejemplo, la corrección de errores se establece en Media, lo que recupera hasta el 15% de los datos dañados mientras mantiene el código compacto.

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

QrOptions options = new QrOptions(QrErrorCorrectionLevel.Medium);

// Create QR code
QrCode qr = QrWriter.Write("1234", options);

// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();

// Save QR code bitmap as file
qrImage.SaveAs("qrMedium.png");
Imports IronQr
Imports IronSoftware.Drawing

Dim options As New QrOptions(QrErrorCorrectionLevel.Medium)

' Create QR code
Dim qr As QrCode = QrWriter.Write("1234", options)

' Save QR code as a bitmap
Dim qrImage As AnyBitmap = qr.Save()

' Save QR code bitmap as file
qrImage.SaveAs("qrMedium.png")
$vbLabelText   $csharpLabel

Resultado

Código QR con corrección de errores media

Comparando niveles de corrección de errores

Cada nivel produce un código QR visualmente diferente. Los niveles más bajos generan patrones más simples que se escanean más rápido, mientras que los niveles más altos crean patrones más densos que sobreviven a más daños. Aquí se muestra cómo generar los mismos datos en cada nivel para comparar:

:path=/static-assets/qr/content-code-examples/how-to/error-correction-qr-code-compare.cs
using IronQr;
using IronSoftware.Drawing;

string data = "https://ironsoftware.com";

// Low - ~7% recovery, smallest code
QrCode qrLow = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.Low));
qrLow.Save().SaveAs("qrLow.png");

// Medium - ~15% recovery, balanced
QrCode qrMedium = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.Medium));
qrMedium.Save().SaveAs("qrMedium.png");

// High - ~25% recovery, durable
QrCode qrHigh = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.High));
qrHigh.Save().SaveAs("qrHigh.png");

// Highest - ~30% recovery, maximum resilience
QrCode qrHighest = QrWriter.Write(data, new QrOptions(QrErrorCorrectionLevel.Highest));
qrHighest.Save().SaveAs("qrHighest.png");
Imports IronQr
Imports IronSoftware.Drawing

Dim data As String = "https://ironsoftware.com"

' Low - ~7% recovery, smallest code
Dim qrLow As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.Low))
qrLow.Save().SaveAs("qrLow.png")

' Medium - ~15% recovery, balanced
Dim qrMedium As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.Medium))
qrMedium.Save().SaveAs("qrMedium.png")

' High - ~25% recovery, durable
Dim qrHigh As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.High))
qrHigh.Save().SaveAs("qrHigh.png")

' Highest - ~30% recovery, maximum resilience
Dim qrHighest As QrCode = QrWriter.Write(data, New QrOptions(QrErrorCorrectionLevel.Highest))
qrHighest.Save().SaveAs("qrHighest.png")
$vbLabelText   $csharpLabel

Por favor notaLos niveles más altos de corrección de errores aumentan el número de módulos en el código QR, lo que hace que el patrón sea más denso. Si la velocidad de escaneo es una prioridad, se recomienda el nivel más bajo que satisfaga las necesidades de durabilidad del proyecto.

Resultado

QR Code with Low Error Correction
Código QR con corrección de errores media
QR Code with High Error Correction
QR Code with Highest Error Correction

Eligiendo el nivel adecuado para el caso de uso

El nivel de corrección de errores adecuado depende de dónde estará el código QR y qué necesita soportar:

Caso práctico Nivel Por qué Guía relacionada
Pantallas digitales y sitios web QrErrorCorrectionLevel.Low La pantalla está limpia, la iluminación está controlada, sin desgaste físico. Mantiene el código simple y rápido de escanear. Crear código QR como imagen
Tarjetas de visita, volantes y señalización interior QrErrorCorrectionLevel.Medium El manejo ligero y el ligero doblado no afectarán el escaneo. Combina con márgenes adecuados para mejores resultados. Agregar márgenes al código QR
Empaque de productos y carteles al aire libre QrErrorCorrectionLevel.High Los materiales enfrenten lluvia, exposición a rayos UV y manejo brusco durante el envío. Escalar el tamaño para escaneo a distancia. Redimensionar código QR
Etiquetas de almacén, pisos de fábrica y etiquetas industriales QrErrorCorrectionLevel.Highest Entornos adversos donde los códigos se rayan, manchan o cubren parcialmente. La máxima redundancia los mantiene funcionando. Leer códigos QR desde imagen

Para patrones de generación de códigos QR más avanzados, explore el tutorial de generación de código QR en C# y el conjunto completo de funcionalidades de IronQR.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más
¿Listo para empezar?
Nuget Descargas 63,625 | Versión: 2026.4 recién lanzado
Still Scrolling Icon

¿Aún desplazándote?

¿Quieres una prueba rápida? PM > Install-Package IronQR
ejecuta una muestra observa cómo tu URL se convierte en un código QR.