Cómo generar códigos QR en C# con IronBarcode
IronBarcode permite a los desarrolladores .NET crear códigos QR de manera eficiente utilizando su clase QRCodeWriter. Admite logotipos personalizados, colores, múltiples formatos de salida e implementación multiplataforma, incluidos Windows, Linux, macOS y dispositivos móviles.
Esta guía demuestra cómo utilizar IronBarcode para generar códigos QR para sistemas de producción. La API de IronBarcode se adhiere a las convenciones .NET al tiempo que proporciona el rendimiento y la confiabilidad necesarios para las aplicaciones empresariales. La biblioteca ofrece documentación completa y admite la implementación en plataformas Windows, Linux, macOS y móviles. Para obtener una descripción completa de todas las capacidades, explore la página de características . La guía de inicio rápido del código de barras proporciona ejemplos prácticos inmediatos para ayudarlo a comenzar.
¿Cuáles son los beneficios de utilizar IronBarcode para la generación de códigos QR?
¿Por qué elegir IronBarcode en lugar de otras bibliotecas?
- Lee y escribe más de 20 formatos de códigos de barras, incluidos UPC, EAN, Código 128 y
DataMatrix. Ver todos los formatos admitidos . - Preprocesa imágenes con filtros de corrección para mejorar la precisión. Incluye corrección de imagen avanzada paracódigos de barras imperfectos .
- Lee escaneos y fotogramas de vídeo con corrección automática de la orientación de la imagen .
- Utiliza múltiples núcleos para el procesamiento por lotes con soporte asincrónico . Aprenda a leer códigos de barras de forma asincrónica para un mejor rendimiento.
- Encuentra múltiples códigos de barras automáticamente con opciones de lectura personalizables. Configure los ajustes del lector de código de barras para obtener resultados óptimos.
- Admite arquitecturas de 32/64 bits en .NET Core y Framework con compatibilidad multiplataforma .
- Funciona en PC y dispositivos móviles: Android , iOS , macOS , Linux . Consulte la guía de configuración de Docker para servidores.
- Genera códigos QR en múltiples formatos con varias opciones de salida . Admite la generación de códigos de barras en numerosos formatos.
¿Cómo genero códigos QR con IronBarcode?
Las siguientes secciones demuestran código listo para producción siguiendo los principios SOLID. Aprenderá a crear varios tipos de códigos QR, implementar estilos personalizados y garantizar un rendimiento de escaneo confiable. Las características de la biblioteca incluyen soporte para códigos de barras 1D y 2D además de códigos QR. Para escenarios avanzados, revise la referencia de API para obtener firmas de métodos completas. Explore las demostraciones para ver las capacidades de IronBarcode en acción.
¿Cómo configuro un nuevo proyecto?
Abra Visual Studio y seleccione Nuevo proyecto en el menú Archivo. Para implementaciones empresariales, considere revisar la guía de instalación de MSI para instalaciones automatizadas. La descripción general de inicio proporciona instrucciones de configuración completas.
Seleccione la plantilla Aplicación de consola y haga clic en Siguiente.
Ingrese el nombre de su proyecto preferido (como Generador de código QR ) y especifique la ubicación. Haga clic en Siguiente .
Seleccione un .NET Framework del menú desplegable ( .NET 6.0 (soporte a largo plazo) ) y haga clic en Crear. IronBarcode es compatible con todas las versiones modernas de .NET como se detalla en la documentación de compatibilidad . Para conocer los requisitos específicos de la plataforma, consulte la guía de integración de Blazor .
¿Qué métodos de instalación están disponibles?
Instale IronBarcode utilizando uno de los cuatro métodos adecuados para diferentes flujos de trabajo. Las demostraciones en vivo de la biblioteca demuestran las capacidades de reconocimiento de códigos de barras en tiempo real. Para realizar pruebas rápidas, explore el ejemplo de inicio rápido del código de barras .
¿Cómo realizo la instalación utilizando la interfaz de usuario del Administrador de paquetes de Visual Studio?
Vaya a Herramientas > Administrador de paquetes NuGet > Administrar paquetes NuGet para la solución...
O haga clic derecho en su proyecto en el Explorador de soluciones y seleccione Administrar paquetes NuGet...
Haga clic en Explorar , busque Código de barras , seleccione IronBarcode , elija su proyecto y haga clic en Instalar. Para instalaciones específicas de la plataforma, consulte la guía de paquetes NuGet . Si encuentra problemas, consulte la guía de solución de problemas de NuGet . La biblioteca admite varios escenarios de implementación, incluidos AWS Lambda y Azure Functions .
¿Cómo realizo la instalación utilizando la consola del administrador de paquetes?
Abra Herramientas > Administrador de paquetes NuGet > Consola del administrador de paquetes y ejecute:
Install-Package BarCode
Esto instala la biblioteca en su proyecto actual. Para implementaciones en contenedores, siga la guía de configuración de Docker . Al utilizar claves de licencia , asegúrese de que la configuración sea adecuada para su entorno de implementación.
¿Cómo puedo descargar desde el sitio web NuGet o IronBarcode?
Descárguelo del sitio web de NuGet Gallery o visite la página de inicio de IronBarcode para obtener la última DLL de código de barras .NET. Agregue la DLL a su proyecto a través de Agregar > Referencia en el Explorador de soluciones. Para solucionar problemas de DLL, consulte la guía de DLL faltantes . Cuando encuentre problemas de tiempo de ejecución, consulte la guía de excepciones de copia en tiempo de ejecución .
¿Cómo creo y personalizo imágenes de códigos QR?
¿Cómo genero un código QR básico?
Cree códigos QR utilizando el método CreateQrCode de la clase QRCodeWriter . Para ver un ejemplo completo, consulte el tutorial del generador de código QR de C# . La biblioteca admite la creación de imágenes de códigos de barras en varios formatos:
using IronBarCode;
// Basic QR code generation with medium error correction
var qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0);
qrCode.SaveAsPng("MyQR.png");
// Generate QR code with automatic sizing and highest error correction
var autoQr = QRCodeWriter.CreateQrCode("Automatic sizing example");
autoQr.SaveAsJpeg("AutoQR.jpg");
// Production-ready QR code with validation
public GeneratedBarcode CreateValidatedQrCode(string data, int size = 600)
{
if (string.IsNullOrWhiteSpace(data))
throw new ArgumentException("Data cannot be empty");
if (data.Length > 2953) // QR Code capacity at highest error correction
throw new ArgumentException("Data exceeds QR code capacity");
var qr = QRCodeWriter.CreateQrCode(data, size, QRCodeWriter.QrErrorCorrectionLevel.High);
qr.VerifyQrCode(); // Verify the generated code is valid
return qr;
}using IronBarCode;
// Basic QR code generation with medium error correction
var qrCode = QRCodeWriter.CreateQrCode("hello world", 500, QRCodeWriter.QrErrorCorrectionLevel.Medium, 0);
qrCode.SaveAsPng("MyQR.png");
// Generate QR code with automatic sizing and highest error correction
var autoQr = QRCodeWriter.CreateQrCode("Automatic sizing example");
autoQr.SaveAsJpeg("AutoQR.jpg");
// Production-ready QR code with validation
public GeneratedBarcode CreateValidatedQrCode(string data, int size = 600)
{
if (string.IsNullOrWhiteSpace(data))
throw new ArgumentException("Data cannot be empty");
if (data.Length > 2953) // QR Code capacity at highest error correction
throw new ArgumentException("Data exceeds QR code capacity");
var qr = QRCodeWriter.CreateQrCode(data, size, QRCodeWriter.QrErrorCorrectionLevel.High);
qr.VerifyQrCode(); // Verify the generated code is valid
return qr;
}El método CreateQrCode acepta:
- Obligatorio: datos a codificar (cadena o secuencia)
- Opcional: dimensiones gráficas (predeterminado 500x500px)
- Opcional: nivel de corrección de errores (Bajo 7%, Medio 15%, Alto 25%, Más alto 30%)
- Opcional: Número de versión QR (0 para automático)
Para un procesamiento por lotes de alto rendimiento, utilice operaciones asincrónicas y estilos personalizados . Cuando trabaje con condiciones imperfectas, utilice las funciones de tolerancia a fallas . El tutorial de lectura de códigos de barras demuestra cómo verificar los códigos generados.
¿Qué tipos de datos puedo codificar en códigos QR?
Los tipos de datos de códigos QR comunes para aplicaciones de producción incluyen la creación de códigos de barras a partir de diversas fuentes . Para ver ejemplos detallados, consulte el ejemplo de creación de código QR . IronBarcode admite códigos de barras Unicode para la codificación de caracteres internacionales:
Códigos QR de URL:
// Generate QR code for website URL
var urlQr = QRCodeWriter.CreateQrCode("___PROTECTED_URL_76___", 800);
urlQr.SetMargins(10); // Add quiet zone
urlQr.SaveAsPng("campaign-qr.png");
// Advanced URL QR code with tracking
public GeneratedBarcode CreateTrackableUrlQr(string baseUrl, Dictionary<string, string> utmParams)
{
var uriBuilder = new UriBuilder(baseUrl);
var query = System.Web.HttpUtility.ParseQueryString(uriBuilder.Query);
foreach (var param in utmParams)
query[param.Key] = param.Value;
uriBuilder.Query = query.ToString();
var qr = QRCodeWriter.CreateQrCode(uriBuilder.ToString(), 1000);
return qr;
}// Generate QR code for website URL
var urlQr = QRCodeWriter.CreateQrCode("___PROTECTED_URL_76___", 800);
urlQr.SetMargins(10); // Add quiet zone
urlQr.SaveAsPng("campaign-qr.png");
// Advanced URL QR code with tracking
public GeneratedBarcode CreateTrackableUrlQr(string baseUrl, Dictionary<string, string> utmParams)
{
var uriBuilder = new UriBuilder(baseUrl);
var query = System.Web.HttpUtility.ParseQueryString(uriBuilder.Query);
foreach (var param in utmParams)
query[param.Key] = param.Value;
uriBuilder.Query = query.ToString();
var qr = QRCodeWriter.CreateQrCode(uriBuilder.ToString(), 1000);
return qr;
}Información de contacto de vCard:
string vCard = @"BEGIN:VCARD
VERSION:3.0
FN:John Smith
ORG:Tech Corp
TEL:+1-555-0123
EMAIL:john@example.com
END:VCARD";
var contactQr = QRCodeWriter.CreateQrCode(vCard, 600, QRCodeWriter.QrErrorCorrectionLevel.Medium);
contactQr.SaveAsPng("contact-card.png");string vCard = @"BEGIN:VCARD
VERSION:3.0
FN:John Smith
ORG:Tech Corp
TEL:+1-555-0123
EMAIL:john@example.com
END:VCARD";
var contactQr = QRCodeWriter.CreateQrCode(vCard, 600, QRCodeWriter.QrErrorCorrectionLevel.Medium);
contactQr.SaveAsPng("contact-card.png");Configuración WiFi :
string wifiConfig = "WIFI:T:WPA;S:NetworkName;P:Password123;;";
var wifiQr = QRCodeWriter.CreateQrCode(wifiConfig, 500);
wifiQr.SaveAsPng("wifi-config.png");string wifiConfig = "WIFI:T:WPA;S:NetworkName;P:Password123;;";
var wifiQr = QRCodeWriter.CreateQrCode(wifiConfig, 500);
wifiQr.SaveAsPng("wifi-config.png");IronBarcode maneja soporte Unicode para caracteres internacionales y admite formatos como Micro QR y rMQR para aplicaciones con limitaciones de espacio. Para formatos especializados, explora el nuevo hito de formatos . Al trabajar con formatos de datos especializados, la biblioteca puede leer desde secuencias y exportar como secuencias para un uso eficiente de la memoria.
¿Cómo agrego logotipos y estilos personalizados?
Utilice CreateQrCodeWithLogo para agregar logotipos de empresas a los códigos QR. Para conocer opciones de estilo completas, consulte el ejemplo de código QR personalizado y la guía de estilo de código QR . La biblioteca también admite el estilo general de código de barras para todos los tipos de códigos de barras:
// Create QR code with embedded logo
var qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png", 500);
qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed);
qrWithLogo.SaveAsPng("Logo_QR_Code.png");
// Advanced logo customization
var logo = new QRCodeLogo("company-logo.png")
{
Width = 100,
Height = 100,
CornerRadius = 5
};
var advancedQr = QRCodeWriter.CreateQrCodeWithLogo("Advanced Example", logo, 600);
// Production-ready branded QR code
public GeneratedBarcode CreateBrandedQrCode(string data, string logoPath, string brandColor)
{
var logo = new QRCodeLogo(logoPath)
{
Width = 80,
Height = 80,
CornerRadius = 10
};
var qr = QRCodeWriter.CreateQrCodeWithLogo(data, logo, 800);
qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml(brandColor));
qr.SetMargins(15);
return qr;
}// Create QR code with embedded logo
var qrWithLogo = QRCodeWriter.CreateQrCodeWithLogo("Hello World", "logo.png", 500);
qrWithLogo.ChangeBarCodeColor(System.Drawing.Color.DarkRed);
qrWithLogo.SaveAsPng("Logo_QR_Code.png");
// Advanced logo customization
var logo = new QRCodeLogo("company-logo.png")
{
Width = 100,
Height = 100,
CornerRadius = 5
};
var advancedQr = QRCodeWriter.CreateQrCodeWithLogo("Advanced Example", logo, 600);
// Production-ready branded QR code
public GeneratedBarcode CreateBrandedQrCode(string data, string logoPath, string brandColor)
{
var logo = new QRCodeLogo(logoPath)
{
Width = 80,
Height = 80,
CornerRadius = 10
};
var qr = QRCodeWriter.CreateQrCodeWithLogo(data, logo, 800);
qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml(brandColor));
qr.SetMargins(15);
return qr;
}Aplique estilo adicional con funciones de personalización de códigos de barras . La función de estilo de códigos de barras proporciona opciones de personalización completas:
// Use HTML color codes for brand colors
qrWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"));
qrWithLogo.ChangeBackgroundColor(System.Drawing.Color.LightGray);
qrWithLogo.AddAnnotationTextAboveBarcode("SCAN ME");
qrWithLogo.AddAnnotationTextBelowBarcode("Company Name");// Use HTML color codes for brand colors
qrWithLogo.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#8B0000"));
qrWithLogo.ChangeBackgroundColor(System.Drawing.Color.LightGray);
qrWithLogo.AddAnnotationTextAboveBarcode("SCAN ME");
qrWithLogo.AddAnnotationTextBelowBarcode("Company Name");¿Qué formatos de exportación están disponibles?
Guarde códigos QR en varios formatos para diferentes casos de uso. Obtenga más información en el tutorial de ejemplo de guardado de código de barras y generador de imágenes de código de barras . Para requisitos especializados, consulte la guía sobre la creación de imágenes de códigos de barras 1-BPP :
// Image formats
qrWithLogo.SaveAsJpeg("qr.jpg");
qrWithLogo.SaveAsPng("qr.png");
qrWithLogo.SaveAsGif("qr.gif");
qrWithLogo.SaveAsTiff("qr.tiff");
// Web formats
qrWithLogo.SaveAsHtmlFile("qr.html");
string dataUrl = qrWithLogo.ToDataUrl();
// Print formats
qrWithLogo.SaveAsPdf("qr.pdf");
qrWithLogo.ChangeBarcodeDpi(300);
// API formats
byte[] qrBytes = qrWithLogo.ToPngBinaryData();
var stream = qrWithLogo.ToStream();
// High-quality print export
public void ExportForPrint(GeneratedBarcode qr, string filename)
{
qr.ChangeBarcodeDpi(600); // AltaDPI for print
qr.ResizeTo(2000, 2000); // Large size
qr.SaveAsTiff(filename); // Lossless format
}// Image formats
qrWithLogo.SaveAsJpeg("qr.jpg");
qrWithLogo.SaveAsPng("qr.png");
qrWithLogo.SaveAsGif("qr.gif");
qrWithLogo.SaveAsTiff("qr.tiff");
// Web formats
qrWithLogo.SaveAsHtmlFile("qr.html");
string dataUrl = qrWithLogo.ToDataUrl();
// Print formats
qrWithLogo.SaveAsPdf("qr.pdf");
qrWithLogo.ChangeBarcodeDpi(300);
// API formats
byte[] qrBytes = qrWithLogo.ToPngBinaryData();
var stream = qrWithLogo.ToStream();
// High-quality print export
public void ExportForPrint(GeneratedBarcode qr, string filename)
{
qr.ChangeBarcodeDpi(600); // AltaDPI for print
qr.ResizeTo(2000, 2000); // Large size
qr.SaveAsTiff(filename); // Lossless format
}Para operaciones específicas de PDF, consulte las guías sobre cómo crear códigos de barras como PDF y estampar códigos de barras en PDF existentes . Al leer códigos de barras de archivos PDF, utilice la configuración del lector de códigos de barras PDF para obtener resultados óptimos.
¿Cómo implemento códigos QR en aplicaciones web?
Para aplicaciones ASP.NET MVC, implemente la transmisión sin E/S de archivos . La biblioteca admite la creación de códigos de barras como HTML para la integración web directa:
public IActionResult GetQrCode(string data)
{
var qr = QRCodeWriter.CreateQrCode(data, 400);
byte[] qrBytes = qr.ToPngBinaryData();
return File(qrBytes, "image/png", "qrcode.png");
}
// Stream directly without disk I/O
public IActionResult StreamQrCode(string content)
{
var qr = QRCodeWriter.CreateQrCode(content, 500);
var stream = qr.ToStream();
return File(stream, "image/png");
}
// Generate HTML-embedded QR codes
public IActionResult GetHtmlQrCode(string data)
{
var qr = QRCodeWriter.CreateQrCode(data, 400);
var htmlString = qr.ToHtmlTag();
return Content(htmlString, "text/html");
}public IActionResult GetQrCode(string data)
{
var qr = QRCodeWriter.CreateQrCode(data, 400);
byte[] qrBytes = qr.ToPngBinaryData();
return File(qrBytes, "image/png", "qrcode.png");
}
// Stream directly without disk I/O
public IActionResult StreamQrCode(string content)
{
var qr = QRCodeWriter.CreateQrCode(content, 500);
var stream = qr.ToStream();
return File(stream, "image/png");
}
// Generate HTML-embedded QR codes
public IActionResult GetHtmlQrCode(string data)
{
var qr = QRCodeWriter.CreateQrCode(data, 400);
var htmlString = qr.ToHtmlTag();
return Content(htmlString, "text/html");
}Para aplicaciones Blazor , implemente la generación de código QR reactivo:
@page "/qrcode"
@using IronBarCode
<input @bind="qrText" placeholder="Enter text" />
<button @onclick="GenerateQr">Generate</button>
@if (!string.IsNullOrEmpty(QrCodeDataUrl))
{
<img src="@QrCodeDataUrl" alt="QR Code" />
}
@code {
private string qrText = "";
private string QrCodeDataUrl = "";
private void GenerateQr()
{
if (!string.IsNullOrEmpty(qrText))
{
var qr = QRCodeWriter.CreateQrCode(qrText, 400);
QrCodeDataUrl = qr.ToDataUrl();
}
}
}@page "/qrcode"
@using IronBarCode
<input @bind="qrText" placeholder="Enter text" />
<button @onclick="GenerateQr">Generate</button>
@if (!string.IsNullOrEmpty(QrCodeDataUrl))
{
<img src="@QrCodeDataUrl" alt="QR Code" />
}
@code {
private string qrText = "";
private string QrCodeDataUrl = "";
private void GenerateQr()
{
if (!string.IsNullOrEmpty(qrText))
{
var qr = QRCodeWriter.CreateQrCode(qrText, 400);
QrCodeDataUrl = qr.ToDataUrl();
}
}
}Para exportar códigos de barras como HTML, revise la guía de creación de códigos de barras como HTML . Al aplicar licencias en aplicaciones web, consulte la guía de claves de licencia web.config .
¿Cuáles son las mejores prácticas para la implementación de códigos QR?
¿Qué nivel de corrección de errores debo elegir?
La corrección de errores afecta la resiliencia y la capacidad. Para obtener información detallada, consulte la guía de corrección de errores . La biblioteca incluye umbrales de confianza de aprendizaje automático para mejorar la precisión:
| Nivel | Recuperación | Caso práctico |
|---|---|---|
| Bajo | 7% | Entornos digitales limpios |
| Medio | 15% | Materiales impresos, tarjetas de presentación |
| Alta | 25% | Señalización exterior, artículos manipulados |
| Más alto | 30% | Uso industrial, logotipos añadidos |
¿Qué tamaño deben tener mis códigos QR?
Calcular el tamaño óptimo según la distancia de escaneo. Obtenga información sobre cómo configurar los márgenes para mejorar el escaneo. El ejemplo de configuración de márgenes demuestra las mejores prácticas:
// 1:10 ratio - 1cm QR per 10cm distance
int CalculateQrSize(double scanDistanceMeters)
{
int sizeInCm = (int)(scanDistanceMeters * 10);
return (int)(sizeInCm * 37.8); // Convert to pixels at 96 DPI
}
// Set appropriate margins for reliable scanning
public GeneratedBarcode CreateScanOptimizedQr(string data, int scanDistance)
{
int size = CalculateQrSize(scanDistance);
var qr = QRCodeWriter.CreateQrCode(data, size);
qr.SetMargins(size / 20); // 5% margin
return qr;
}// 1:10 ratio - 1cm QR per 10cm distance
int CalculateQrSize(double scanDistanceMeters)
{
int sizeInCm = (int)(scanDistanceMeters * 10);
return (int)(sizeInCm * 37.8); // Convert to pixels at 96 DPI
}
// Set appropriate margins for reliable scanning
public GeneratedBarcode CreateScanOptimizedQr(string data, int scanDistance)
{
int size = CalculateQrSize(scanDistance);
var qr = QRCodeWriter.CreateQrCode(data, size);
qr.SetMargins(size / 20); // 5% margin
return qr;
}¿Cómo puedo garantizar la compatibilidad móvil?
Mejora el escaneo móvil mediante la configuración del lector de código de barras . Cuando se trate de problemas de reconocimiento, consulte la guía de solución de problemas de código de barras no reconocido :
public GeneratedBarcode CreateMobileOptimizedQr(string data)
{
var qr = QRCodeWriter.CreateQrCode(data, 800, QRCodeWriter.QrErrorCorrectionLevel.Medium);
qr.SetMargins(20); // Adequate quiet zone
qr.ChangeBarCodeColor(System.Drawing.Color.Black);
qr.ChangeBackgroundColor(System.Drawing.Color.White);
return qr;
}public GeneratedBarcode CreateMobileOptimizedQr(string data)
{
var qr = QRCodeWriter.CreateQrCode(data, 800, QRCodeWriter.QrErrorCorrectionLevel.Medium);
qr.SetMargins(20); // Adequate quiet zone
qr.ChangeBarCodeColor(System.Drawing.Color.Black);
qr.ChangeBackgroundColor(System.Drawing.Color.White);
return qr;
}Para el desarrollo móvil multiplataforma, explore el tutorial del escáner de código de barras .NET MAUI . La biblioteca admite de forma nativa las plataformas iOS y Android .## Escenarios de integración comunes
Creación de códigos QR para campañas de marketing
Para implementar códigos QR de marketing rastreables con marca personalizada, consulte la guía de velocidades de lectura para administrar la velocidad de lectura de códigos de barras:
public GeneratedBarcode CreateCampaignQr(string campaignId, string userId)
{
string trackingUrl = "___PROTECTED_URL_79___";
var qr = QRCodeWriter.CreateQrCodeWithLogo(trackingUrl, "logo.png", 1000);
qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#1E3A8A"));
qr.AddAnnotationTextAboveBarcode($"Campaign: {campaignId}");
return qr;
}
// Batch generate campaign materials
public async Task GenerateCampaignBatch(List<string> userIds, string campaignId)
{
var tasks = userIds.Select(async userId =>
{
var qr = CreateCampaignQr(campaignId, userId);
await Task.Run(() => qr.SaveAsPng($"campaigns/{campaignId}/{userId}.png"));
});
await Task.WhenAll(tasks);
}public GeneratedBarcode CreateCampaignQr(string campaignId, string userId)
{
string trackingUrl = "___PROTECTED_URL_79___";
var qr = QRCodeWriter.CreateQrCodeWithLogo(trackingUrl, "logo.png", 1000);
qr.ChangeBarCodeColor(System.Drawing.ColorTranslator.FromHtml("#1E3A8A"));
qr.AddAnnotationTextAboveBarcode($"Campaign: {campaignId}");
return qr;
}
// Batch generate campaign materials
public async Task GenerateCampaignBatch(List<string> userIds, string campaignId)
{
var tasks = userIds.Select(async userId =>
{
var qr = CreateCampaignQr(campaignId, userId);
await Task.Run(() => qr.SaveAsPng($"campaigns/{campaignId}/{userId}.png"));
});
await Task.WhenAll(tasks);
}Generación de códigos QR de etiquetas de productos
Cree códigos QR para la gestión de inventario. Para manejar formatos especiales, consulte la guía de solución de problemas GS1-128 . Al trabajar con tipos de códigos de barras específicos, como el Código 39 o los códigos de barras MSI , consulte las guías específicas del formato:
public void GenerateProductLabel(Product product)
{
var productData = new
{
sku = product.SKU,
batch = product.BatchNumber,
expiry = product.ExpiryDate.ToString("yyyy-MM-dd")
};
string json = System.Text.Json.JsonSerializer.Serialize(productData);
var qr = QRCodeWriter.CreateQrCode(json, 400, QRCodeWriter.QrErrorCorrectionLevel.High);
qr.AddAnnotationTextAboveBarcode(product.Name);
qr.SaveAsPng($"labels/product-{product.SKU}.png");
}
// Generate 1-BPP labels for thermal printers
public void GenerateThermalLabel(Product product)
{
var qr = CreateProductQr(product);
qr.SaveAs1BitPerPixelPng($"thermal/{product.SKU}.png");
}public void GenerateProductLabel(Product product)
{
var productData = new
{
sku = product.SKU,
batch = product.BatchNumber,
expiry = product.ExpiryDate.ToString("yyyy-MM-dd")
};
string json = System.Text.Json.JsonSerializer.Serialize(productData);
var qr = QRCodeWriter.CreateQrCode(json, 400, QRCodeWriter.QrErrorCorrectionLevel.High);
qr.AddAnnotationTextAboveBarcode(product.Name);
qr.SaveAsPng($"labels/product-{product.SKU}.png");
}
// Generate 1-BPP labels for thermal printers
public void GenerateThermalLabel(Product product)
{
var qr = CreateProductQr(product);
qr.SaveAs1BitPerPixelPng($"thermal/{product.SKU}.png");
}Para la impresión de etiquetas especializadas, revise la guía de imágenes de códigos de barras 1-BPP . Al leer documentos de varias páginas, consulte la guía de GIF y TIFF de varias páginas .
Mejorar el rendimiento del escaneo de códigos de barras
Para aplicaciones de escaneo de gran volumen, implemente regiones de recorte para limitar las áreas de escaneo y mejorar el rendimiento. Las opciones de velocidad de lectura proporcionan un control preciso sobre el equilibrio entre precisión y velocidad:
// Define crop region for faster scanning
var cropRegion = new Rectangle(100, 100, 300, 300);
var options = new BarcodeReaderOptions
{
Speed = ReadingSpeed.Faster,
ExpectBarcodeTypes = BarcodeEncoding.QRCode,
CropArea = cropRegion
};
var results = BarcodeReader.Read("image.png", options);// Define crop region for faster scanning
var cropRegion = new Rectangle(100, 100, 300, 300);
var options = new BarcodeReaderOptions
{
Speed = ReadingSpeed.Faster,
ExpectBarcodeTypes = BarcodeEncoding.QRCode,
CropArea = cropRegion
};
var results = BarcodeReader.Read("image.png", options);Al trabajar con objetos System.Drawing , la biblioteca proporciona compatibilidad multiplataforma a través de IronDrawing .
Conclusiones clave
IronBarcode ofrece una solución completa para la generación de códigos QR en aplicaciones .NET. La biblioteca proporciona API intuitivas, documentación extensa y funciones listas para producción que incluyen tolerancia a fallas , soporte multiplataforma y optimización del rendimiento . Manténgase actualizado con las últimas funciones a través del registro de cambios . Para implementaciones que priorizan la seguridad, revise las divulgaciones de CVE de seguridad .
Encuentre información sobre licencias en la página de licencias . IronBarcode ofrece una licencia de desarrollador gratuita con opciones premium que incluyen soporte y actualizaciones. Para los clientes existentes, explore las extensiones de licencia y las opciones de actualización . Si necesita ayuda con la licencia, consulte la guía de aplicación de clave de licencia y la configuración de licencia web.config .
Para implementaciones de producción, considere las guías para AWS Lambda , Azure Functions y contenedores Docker . Para solucionar problemas de implementación específicos, consulte la guía de tiempo de ejecución de AWS Lambda y las soluciones de excepción de copia en tiempo de ejecución . Si experimenta falsos positivos , consulte la guía detallada de solución de problemas.
Para obtener soporte técnico, envíe una solicitud de ingeniería . La biblioteca se actualiza periódicamente, como se muestra en la sección de actualizaciones del producto , lo que garantiza una compatibilidad continua y nuevas funciones.
Introducción a un ejemplo rápido de código QR
Genere un código QR con estilo personalizado en solo unas pocas líneas de código. Para obtener más ejemplos, visite el ejemplo de creación de códigos de barras y explore el tutorial de lectura de códigos de barras para obtener soluciones completas de códigos de barras. Otros ejemplos incluyen la lectura de códigos de barras de archivos PDF y la creación de códigos de barras a partir de datos :
using IronBarCode;
// Create QR code with custom size and error correction
var qrCode = QRCodeWriter.CreateQrCode("___PROTECTED_URL_81___", 500, QRCodeWriter.QrErrorCorrectionLevel.High);
// Add styling
qrCode.ChangeBarCodeColor(System.Drawing.Color.Navy);
qrCode.AddBarcodeValueTextBelowBarcode();
// Save as image
qrCode.SaveAsPng("quickstart-qr.png");
// Export for API
byte[] pngBytes = qrCode.ToPngBinaryData();using IronBarCode;
// Create QR code with custom size and error correction
var qrCode = QRCodeWriter.CreateQrCode("___PROTECTED_URL_81___", 500, QRCodeWriter.QrErrorCorrectionLevel.High);
// Add styling
qrCode.ChangeBarCodeColor(System.Drawing.Color.Navy);
qrCode.AddBarcodeValueTextBelowBarcode();
// Save as image
qrCode.SaveAsPng("quickstart-qr.png");
// Export for API
byte[] pngBytes = qrCode.ToPngBinaryData();IronBarcode admite la implementación en AWS Lambda , Azure , Docker y plataformas móviles a través de .NET MAUI . Para obtener soporte técnico, envíe una solicitud de ingeniería . Revise las divulgaciones de seguridad CVE para conocer los requisitos de seguridad empresarial.
Explore las funciones de lectura de códigos de barras para comprender todas las capacidades del reconocimiento de códigos de barras, incluida la compatibilidad con la lectura de códigos de barras Code 39 y otros formatos especializados. El conjunto completo de funciones de la biblioteca la hace adecuada para aplicaciones empresariales que requieren capacidades confiables de generación y escaneo de códigos de barras.
Preguntas Frecuentes
¿Cómo genero un código QR en una aplicación .NET?
Puedes generar un código QR en una aplicación .NET usando el método QRCodeWriter.CreateQrCode en IronBarcode. Este método te permite especificar los datos del código QR, el tamaño y el nivel de corrección de errores.
¿Cuáles son las opciones de personalización disponibles para los códigos QR?
IronBarcode permite la personalización de los códigos QR, incluyendo cambiar colores e insertar imágenes como logotipos de la empresa. Estas características mejoran el atractivo visual y la integración de marca de los códigos QR.
¿Cómo puedo instalar la biblioteca IronBarcode en mi proyecto?
Puedes instalar IronBarcode en tu proyecto a través de la UI del Administrador de Paquetes NuGet de Visual Studio, la Consola del Administrador de Paquetes, o descargándolo desde el sitio web de NuGet.
¿Se puede utilizar IronBarcode para leer códigos de barras desde fotogramas de video?
Sí, IronBarcode puede procesar fotogramas de video, permitiendo leer códigos de barras en tiempo real corrigiendo la rotación y el ruido, mejorando así la eficiencia de la lectura de códigos de barras.
¿Qué formatos de archivo se pueden usar para guardar los códigos QR generados con IronBarcode?
Los códigos QR generados con IronBarcode se pueden guardar en múltiples formatos, incluyendo PNG y HTML, brindando flexibilidad para diferentes necesidades de aplicación.
¿Es IronBarcode adecuado tanto para aplicaciones de consola como web?
Sí, IronBarcode es versátil y puede usarse tanto en aplicaciones de consola como en aplicaciones web .NET MVC, haciendo de él una elección robusta para diversos entornos de desarrollo.
¿Qué niveles de corrección de errores están disponibles para códigos QR en IronBarcode?
IronBarcode soporta cuatro niveles de corrección de errores para códigos QR: Bajo, Medio, Alto y Máximo, asegurando la integridad de los datos incluso si el código QR se daña.
¿Cuáles son las opciones de licencia para IronBarcode?
IronBarcode ofrece una licencia de desarrollador gratuita y una versión premium que incluye soporte adicional y actualizaciones, atendiendo a diferentes necesidades de desarrollo y negocio.
¿Es IronBarcode compatible con .NET Core y .NET Framework?
Sí, IronBarcode es compatible con tanto .NET Core como con .NET Framework, soportando varias arquitecturas incluyendo sistemas de 32 y 64 bits.







