Cómo crear códigos QR en C
Introducción
Con IronQR, los desarrolladores pueden crear códigos QR para formatos de imagen populares y personalizarlos con colores de fondo, márgenes, logotipos e incluso agregarlos a PDFs. Para un uso avanzado, también ofrece control sobre la corrección de errores y las versiones.
Este artículo explorará las características clave de IronQR con ejemplos, ayudándole a entender cómo utilizarlo para escribir códigos QR en C# y aplicarlo eficazmente en sus proyectos.
Índice
Datos de entrada
Exportar códigos QR
Opciones de Código QR
Estilo del código QR
Comience a usar IronQR en su proyecto hoy con una prueba gratuita.
Datos de entrada
Texto, URLs, Números
IronQR puede convertir una amplia gama de tipos de datos, incluidos textos, URL y números, en códigos QR. Ya sea que estés creando enlaces o texto de códigos QR para marketing y comunicación, códigos numéricos para la gestión de inventarios o codificando datos binarios o flujos en códigos QR legibles, IronQR proporciona todo el soporte que necesitas.
Además, la API es sencilla. La clase QrWriter ofrece varias sobrecargas, permitiendo diferentes tipos de datos como entrada, reduciendo la complejidad y simplificando el proceso.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-1.cs
using IronQr;
using IronSoftware.Drawing;
string text = "Hello, World!";
string url = "https://ironsoftware.com/csharp/qr/";
string alphanumeric = "WATERSKU-12356";
// Create QR code
QrCode textQr = QrWriter.Write(text);
// Save QR code as a bitmap
AnyBitmap textQrImage = textQr.Save();
// Save QR code as file
textQrImage.SaveAs("textQr.png");
QrCode urlQr = QrWriter.Write(url);
AnyBitmap urlQrImage = urlQr.Save();
urlQrImage.SaveAs("urlQr.png");
QrCode alphanumericQr = QrWriter.Write(alphanumeric);
AnyBitmap alphanumericQrImage = alphanumericQr.Save();
alphanumericQrImage.SaveAs("alphanumericQr.png");
Imports IronQr
Imports IronSoftware.Drawing
Private text As String = "Hello, World!"
Private url As String = "https://ironsoftware.com/csharp/qr/"
Private alphanumeric As String = "WATERSKU-12356"
' Create QR code
Private textQr As QrCode = QrWriter.Write(text)
' Save QR code as a bitmap
Private textQrImage As AnyBitmap = textQr.Save()
' Save QR code as file
textQrImage.SaveAs("textQr.png")
Dim urlQr As QrCode = QrWriter.Write(url)
Dim urlQrImage As AnyBitmap = urlQr.Save()
urlQrImage.SaveAs("urlQr.png")
Dim alphanumericQr As QrCode = QrWriter.Write(alphanumeric)
Dim alphanumericQrImage As AnyBitmap = alphanumericQr.Save()
alphanumericQrImage.SaveAs("alphanumericQr.png")
Binario y flujos
De manera similar, podemos convertir datos binarios y flujos en códigos QR usando el mismo método Write
mencionado anteriormente.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-2.cs
using IronQr;
using IronSoftware.Drawing;
using System.Text;
byte[] bytes = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/");
// Create QR code
QrCode bytesQr = QrWriter.Write(bytes);
// Save QR code as a bitmap
AnyBitmap qrImage = bytesQr.Save();
// Save QR code bitmap to file
qrImage.SaveAs("bytesQr.png");
Imports IronQr
Imports IronSoftware.Drawing
Imports System.Text
Private bytes() As Byte = Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/")
' Create QR code
Private bytesQr As QrCode = QrWriter.Write(bytes)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = bytesQr.Save()
' Save QR code bitmap to file
qrImage.SaveAs("bytesQr.png")
El método Write
tiene sobrecargas que aceptan tanto matrices de bytes como flujos como entradas. Para los flujos de datos, podemos crear un MemoryStream a partir del arreglo de bytes y luego convertirlo en un código QR. Esto es útil cuando los usuarios requieren un control más detallado sobre los fragmentos de datos, ya que los flujos pueden ser más eficientes en el uso de memoria.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-3.cs
using IronQr;
using IronSoftware.Drawing;
using System.IO;
using System.Text;
MemoryStream stream = new MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/"));
// Create QR code
QrCode streamQr = QrWriter.Write(stream);
// Save QR code as a bitmap
AnyBitmap streamQrImage = streamQr.Save();
// Save QR code bitmap as file
streamQrImage.SaveAs("streamQr.png");
Imports IronQr
Imports IronSoftware.Drawing
Imports System.IO
Imports System.Text
Private stream As New MemoryStream(Encoding.UTF8.GetBytes("https://ironsoftware.com/csharp/qr/"))
' Create QR code
Private streamQr As QrCode = QrWriter.Write(stream)
' Save QR code as a bitmap
Private streamQrImage As AnyBitmap = streamQr.Save()
' Save QR code bitmap as file
streamQrImage.SaveAs("streamQr.png")
Exportar códigos QR
IronQR es flexible y adaptable a varios casos de uso que requieren diferentes formatos de archivo. Puedes guardar códigos QR en múltiples formatos como JPG, PNG, GIF y TIFF utilizando el método SaveAs
.
Guardar como imagen
El método SaveAs
de AnyBitmap detecta automáticamente el formato de archivo según la ruta de archivo proporcionada. En este ejemplo, especifiqué una ruta de archivo terminada en .png.
Atención
SaveAs
, tenga en cuenta que no hay un formato de imagen predeterminado. Si introduce una extensión no reconocida o comete un error tipográfico en la ruta del archivo, la imagen se guardará con la extensión incorrecta.:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-4.cs
using IronQr;
using IronSoftware.Drawing;
// Create a QR code object
QrCode qr = QrWriter.Write("hello world");
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.SaveAs("qr.png");
Imports IronQr
Imports IronSoftware.Drawing
' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qr.png")
System.Drawing.Images
Convertir imágenes al objeto System.Drawing.Images de Microsoft te permite utilizar la clase Bitmap para guardar el código QR en una ruta de archivo. En este ejemplo, el método Save
guarda el código QR como un archivo PNG en la ruta 'qrBitmap.png'.
Atención
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-5.cs
using IronQr;
using System.Drawing;
// Create a QR code object
QrCode qr = QrWriter.Write("hello world");
// Save QR code as a bitmap
Bitmap qrImage = qr.Save();
// Save QR code bitmap as file
qrImage.Save("qrBitmap.png");
Imports IronQr
Imports System.Drawing
' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")
' Save QR code as a bitmap
Private qrImage As Bitmap = qr.Save()
' Save QR code bitmap as file
qrImage.Save("qrBitmap.png")
IronSoftware.Drawing
Debido a la falta de compatibilidad multiplataforma de System.Drawing.Common, los desarrolladores pueden encontrar problemas al mantener aplicaciones multiplataforma. IronQR puede utilizar tanto System.Drawing.Common como IronSoftware.Drawing.
IronQR utiliza la clase AnyBitmap de IronSoftware.Drawing, una clase Bitmap universalmente compatible que se convierte implícitamente a lo siguiente:
- System.Drawing.Bitmap
- System.Drawing.Image
- SkiaSharp.SKBitmap
- SixLabors.ImageSharp
Microsoft.Maui.Graphics.Platform.PlatformImage
Con esta poderosa biblioteca de código abierto, IronQR logra soporte multiplataforma y compatibilidad con .NET 8, .NET 7, .NET 6, .NET 5, .NET Core, .NET Standard y .NET Framework 4.6.2+. Para obtener más información sobre la biblioteca, por favor consulte IronSoftware.Drawing sitio web.
Sello en PDF
IronQR permite a los desarrolladores estampar códigos QR en documentos PDF existentes, facilitando que otros accedan rápidamente a enlaces o recursos adicionales. Se admite el estampado de códigos QR en una o varias páginas.
Estampar en una sola página
Después de crear el código QR, llama al método StampToExistingPdfPage
desde el objeto QrCode. Este método requiere la ruta del archivo, coordenadas(x e y)número de página, y una contraseña opcional si el PDF está protegido con contraseña. Una vez que se proporcionan los argumentos, el método estampa el código QR y guarda el PDF.
Atención
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-6.cs
using IronQr;
// Create a QR code object
QrCode qr = QrWriter.Write("hello world");
string filepath = "example.pdf";
int x = 100;
int y = 150;
int page = 1;
// Stamp QR code to (100, 150) of the pdf on page 1
qr.StampToExistingPdfPage(filepath, x, y, page);
Imports IronQr
' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")
Private filepath As String = "example.pdf"
Private x As Integer = 100
Private y As Integer = 150
Private page As Integer = 1
' Stamp QR code to (100, 150) of the pdf on page 1
qr.StampToExistingPdfPage(filepath, x, y, page)
Sello en múltiples páginas
Similar al ejemplo anterior, la principal diferencia es que el método StampToExistingPdfPages
toma una lista de números de página en lugar de solo uno.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-7.cs
using IronQr;
using System.Collections.Generic;
// Create a QR code object
QrCode qr = QrWriter.Write("hello world");
string filepath = "example.pdf";
int x = 100;
int y = 150;
List<int> pages = new List<int>();
pages.Add(1);
pages.Add(2);
pages.Add(3);
pages.Add(4);
// Stamp QR code to (100, 150) of the pdf on pages 1-4
qr.StampToExistingPdfPages(filepath, x, y, pages);
Imports IronQr
Imports System.Collections.Generic
' Create a QR code object
Private qr As QrCode = QrWriter.Write("hello world")
Private filepath As String = "example.pdf"
Private x As Integer = 100
Private y As Integer = 150
Private pages As New List(Of Integer)()
pages.Add(1)
pages.Add(2)
pages.Add(3)
pages.Add(4)
' Stamp QR code to (100, 150) of the pdf on pages 1-4
qr.StampToExistingPdfPages(filepath, x, y, pages)
Salida de ambos ejemplos
Opciones de código QR
IronQR ofrece amplias opciones de personalización para ajustar el comportamiento y la funcionalidad del código QR. La clase QrOptions proporciona varios parámetros, como control de versión, tipo de codificación, codificación de caracteres y niveles de corrección de errores. Exploremos estas opciones con más detalle.
Codificación
IronQR admite múltiples tipos de códigos QR tanto para la creación como para la lectura. A continuación se muestran los tipos compatibles:
- Código QR: Este es el código QR estándar, comúnmente utilizado hoy en día. Puede almacenar hasta 7,089 caracteres numéricos o 4,296 caracteres alfanuméricos.
- MicroQRCode: Una versión más pequeña del código QR estándar, puede almacenar hasta 35 caracteres numéricos o 21 caracteres alfanuméricos.
- RMQRCode: El Código QR Micro Rectangular es una versión compacta del código QR, que ofrece flexibilidad en su relación de aspecto.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-8.cs
using IronQr;
using IronSoftware.Drawing;
QrOptions options = new QrOptions
{
// Change encoding to micro QR code
Encoding = IronQr.Enum.QrEncoding.MicroQRCode,
};
// 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("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing
Private options As New QrOptions With {.Encoding = IronQr.Enum.QrEncoding.MicroQRCode}
' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
Corrección de errores
IronQR utiliza la corrección de errores estándar de QR para garantizar que todos los códigos QR producidos sean tolerantes a fallos y fiables, incluso en condiciones adversas. Además, IronQR te permite tener control total sobre el nivel de corrección de errores para un ajuste más preciso.
Hay cuatro niveles de corrección de errores disponibles, proporcionados por QrErrorCorrectionLevel:
- El más alto: 30% de corrección de errores
- Alto: 25% de corrección de errores
- Media: 15% de corrección de errores
- Bajo: 7% de corrección de errores
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-9.cs
using IronQr;
using IronSoftware.Drawing;
QrOptions options = new QrOptions
{
// Change error correction level to medium
ErrorCorrectionLevel = 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("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing
Private options As New QrOptions With {.ErrorCorrectionLevel = QrErrorCorrectionLevel.Medium}
' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
Una corrección de errores más alta proporciona una mayor tolerancia a fallos al leer el código QR, lo que hace que sea más probable que se escanee a resoluciones más bajas en comparación con uno con baja corrección de errores. Puedes probar según tus casos de uso.
Versión del código QR
Puede ajustar la versión del código QR para almacenar más datos. Las versiones superiores son ideales para inventario o logística, mientras que las versiones inferiores funcionan bien para datos más pequeños, como URL cortas. Simplemente cambie la propiedad Version en el objeto QrOptions y páselo al método Write
para generar el código QR según sea necesario.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-10.cs
using IronQr;
using IronSoftware.Drawing;
QrOptions options = new QrOptions
{
// Change QR code version to 40
Version = 40,
};
// 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("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing
Private options As New QrOptions With {.Version = 40}
' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
Como puedes ver en la salida, la versión 40 del código QR es mucho más compleja y densa en comparación con la versión 5.
Las versiones inferiores requieren un escaneo más preciso y pueden ser difíciles de escanear sin escáneres de mayor resolución. Sin embargo, las versiones más avanzadas son más fáciles de escanear, incluso con cámaras de baja resolución. Para obtener una guía más detallada sobre cómo elegir la versión de QR según la capacidad, consulte elLista de versiones de QR.
Codificación de caracteres
Esta opción determina cómo se codifica el código QR. En nuestro ejemplo, lo cambiamos a 'UTF-32', mientras que la codificación de caracteres predeterminada es 'ISO-8859-1'.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-11.cs
using IronQr;
using IronSoftware.Drawing;
QrOptions options = new QrOptions
{
// Change character encoding to UTF-32
CharacterEncoding = "UTF-32"
};
// 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("qrImage.png");
Imports IronQr
Imports IronSoftware.Drawing
Private options As New QrOptions With {.CharacterEncoding = "UTF-32"}
' Create QR code
Private qr As QrCode = QrWriter.Write("1234", options)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save()
' Save QR code bitmap as file
qrImage.SaveAs("qrImage.png")
Estilo de Código QR
Además de sus métodos fáciles de usar y la flexibilidad en el manejo de datos de entrada, IronQR ofrece muchas opciones para personalizar y diseñar códigos QR para hacerlos únicos. La clase QrStyleOptions ofrece varios parámetros para personalizar todos los aspectos de un código QR. Exploremos las opciones disponibles.
Redimensionar
Para redimensionar el código QR, puedes establecer la propiedad Dimensions del objeto QrStyleOptions y luego pasarla al método Save
. Por defecto, el código QR se guarda a 300px. En este ejemplo, guardamos el código QR a 600px en lugar de 300px.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-12.cs
using IronQr;
using IronSoftware.Drawing;
QrStyleOptions styleOptions = new QrStyleOptions()
{
// Change the dimensions to 600px
Dimensions = 600,
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLResized.png");
Imports IronQr
Imports IronSoftware.Drawing
Private styleOptions As New QrStyleOptions() With {.Dimensions = 600}
Private url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Private qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLResized.png")
Márgenes y bordes
Para ajustar los márgenes y bordes, podemos usar la propiedad Margins de la clase QrStyleOptions. Esta propiedad controla los márgenes del código QR en todos los lados, con un valor predeterminado de 10px. En nuestro ejemplo, establecemos el margen a 20px.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-13.cs
using IronQr;
using IronSoftware.Drawing;
QrStyleOptions styleOptions = new QrStyleOptions()
{
// Change margins to 20px
Margins = 20
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png");
Imports IronQr
Imports IronSoftware.Drawing
Private styleOptions As New QrStyleOptions() With {.Margins = 20}
Private url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Private qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png")
Cambiar márgenes para cada lado
IronQR también permite a los usuarios especificar márgenes diferentes para cada lado, proporcionando un control más detallado.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-14.cs
using IronQr;
using IronSoftware.Drawing;
QrStyleOptions styleOptions = new QrStyleOptions()
{
// Change margins
MarginBottom = 30,
MarginTop = 100,
MarginRight = 40,
MarginLeft = 20,
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png");
Imports IronQr
Imports IronSoftware.Drawing
Private styleOptions As New QrStyleOptions() With {
.MarginBottom = 30,
.MarginTop = 100,
.MarginRight = 40,
.MarginLeft = 20
}
Private url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Private qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLMarginMultiple.png")
Recolorear
Podemos añadir colores al código QR y su fondo utilizando la clase QrStyleOptions. Personalizar los colores hace que el código QR sea más único y llamativo. Puedes cambiar el color utilizando las propiedades Color y BackgroundColor. Asegúrate de importar IronSoftware.Drawing para obtener una lista de colores disponibles para asignar.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-15.cs
using IronQr;
using IronSoftware.Drawing;
QrStyleOptions styleOptions = new QrStyleOptions()
{
// Change color
BackgroundColor = Color.Blue,
Color = Color.Red
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png");
Imports IronQr
Imports IronSoftware.Drawing
Private styleOptions As New QrStyleOptions() With {
.BackgroundColor = Color.Blue,
.Color = Color.Red
}
Private url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Private qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png")
Agregar un logotipo
Además de los colores y dimensiones, también puedes aplicar el logotipo de tu empresa al código QR. Esto ayuda a los usuarios a reconocer e identificar inmediatamente el código QR con su marca. La propiedad Logo facilita la personalización de un código QR al agregar el logotipo de su empresa.
:path=/static-assets/qr/content-code-examples/tutorials/csharp-qr-writing-15.cs
using IronQr;
using IronSoftware.Drawing;
QrStyleOptions styleOptions = new QrStyleOptions()
{
// Change color
BackgroundColor = Color.Blue,
Color = Color.Red
};
string url = "https://ironsoftware.com/csharp/qr/";
// Create QR code
QrCode qr = QrWriter.Write(url);
// Save QR code as a bitmap
AnyBitmap qrImage = qr.Save(styleOptions);
// Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png");
Imports IronQr
Imports IronSoftware.Drawing
Private styleOptions As New QrStyleOptions() With {
.BackgroundColor = Color.Blue,
.Color = Color.Red
}
Private url As String = "https://ironsoftware.com/csharp/qr/"
' Create QR code
Private qr As QrCode = QrWriter.Write(url)
' Save QR code as a bitmap
Private qrImage As AnyBitmap = qr.Save(styleOptions)
' Save QR code bitmap as file
qrImage.SaveAs("qrURLColored.png")
Personalizar el logotipo
La clase QrLogo permite una mayor personalización de la apariencia del logo. A continuación figuran las propiedades disponibles:
- Bitmap: Representa la imagen que deseas usar como el logotipo.
- Ancho: Representa el ancho del logo. El valor predeterminado es 0.
- Height: Representa la altura del logotipo. El valor predeterminado es 0.
- CornerRadius: Representa el radio para redondear las esquinas del logo. De forma predeterminada, está configurado a 0, lo que significa que el logo tendrá esquinas cuadradas.
Comprobación de la tolerancia a fallos
Junto con una amplia flexibilidad en los formatos de archivo y personalizaciones, la flexibilidad se extiende a los aspectos de depuración y manejo de errores. IronQR ofrece varias herramientas para que los desarrolladores gestionen excepciones y escriban pruebas unitarias para verificar aplicaciones.
Sumas de verificación
Los códigos QR a veces pueden dañarse, pero IronQR incluye sumas de verificación integradas y corrección de datos para mantenerlos funcionales. Utiliza elAlgoritmo de corrección de errores Reed-Solomon, garantizando que los códigos QR sigan siendo tolerantes a fallos.
Mensajes de error detallados
IronQR ofrece mensajes de error detallados que ayudan a los usuarios a identificar rápidamente los problemas. Estos mensajes contienen una lista de excepciones específicas, lo que facilita la depuración y la resolución de problemas. A continuación se muestra una lista de IronQrException utilizadas por la biblioteca.
IronQrEncodingException: Una subclase de IronQrException, este error ocurre cuando hay un problema al escribir el código QR. Por ejemplo, aparecerá si un usuario intenta crear un código QR a partir de una cadena vacía.
- IronQrFileException: Una subclase de IronQrException, este error ocurre cuando surge un problema relacionado con un archivo.
IronQrPdfPasswordExcception: Una subclase de IronQrException, este error ocurre cuando el PDF que un usuario está intentando estampar está protegido con contraseña, y no se proporciona una contraseña o se proporciona una contraseña incorrecta. También cubre otros errores relacionados con PDF, como cuando el PDF no se puede abrir, como se muestra en el ejemplo.
Conclusión
IronQR ofrece un conjunto completo de métodos para generar y personalizar códigos QR dentro de aplicaciones .NET. Con sus características robustas, los desarrolladores pueden crear fácilmente códigos QR con varias codificaciones de datos, estilos visuales y niveles de corrección de errores. El soporte de la biblioteca para diversos formatos de salida y su integración fluida en documentos existentes la convierte en una herramienta versátil para cualquier proyecto de código QR. Ya sea que necesites códigos QR básicos o soluciones avanzadas y personalizadas, IronQR ofrece la flexibilidad y funcionalidad para satisfacer tus necesidades de manera eficiente.
Para obtener más información, consulte el documentación de IronQR, comienza a explorar con un prueba gratuita, y revisar el opciones de licenciapara ver qué plan se adapta mejor a sus necesidades.