Genera Códigos QR con C#
Los desarrolladores de C# pueden usar QRCoder, una popular biblioteca .NET, para generar códigos QR en aplicaciones ASP.NET, WPF, MAUI y de consola. Sin dependencias externas requeridas.
Instalación
Instala QRCoder vía el Administrador de Paquetes NuGet.
dotnet add package QRCoderInstall-Package QRCoderGenera Códigos QR con QRCoder
Ejemplos de código usando la biblioteca QRCoder en C#.
Basic QR Code with QRCoder
using QRCoder;
var qrGenerator = new QRCodeGenerator();
var qrData = qrGenerator.CreateQrCode("https://qrcode.fun",
QRCodeGenerator.ECCLevel.Q);
// PNG output
var qrCode = new PngByteQRCode(qrData);
byte[] pngBytes = qrCode.GetGraphic(20);
File.WriteAllBytes("qrcode.png", pngBytes);SVG Output
using QRCoder;
var qrGenerator = new QRCodeGenerator();
var qrData = qrGenerator.CreateQrCode("https://qrcode.fun",
QRCodeGenerator.ECCLevel.Q);
var svgQrCode = new SvgQRCode(qrData);
string svgString = svgQrCode.GetGraphic(20,
"#1A2B3C", "#FFFFFF");
File.WriteAllText("qrcode.svg", svgString);ASP.NET Core Endpoint
app.MapGet("/qr", (string data) =>
{
var qrGenerator = new QRCodeGenerator();
var qrData = qrGenerator.CreateQrCode(data,
QRCodeGenerator.ECCLevel.Q);
var qrCode = new PngByteQRCode(qrData);
byte[] png = qrCode.GetGraphic(20);
return Results.File(png, "image/png");
});Genera Códigos QR vía API en C#
Llama a la API de QRCode.fun desde C# usando HttpClient para códigos QR estilizados.
using System.Net.Http.Json;
var client = new HttpClient();
var payload = new {
data = "https://qrcode.fun",
width = 300,
height = 300,
type = "png",
margin = 10,
dotsOptions = new { color = "#1A2B3C", type = "rounded" },
cornersSquareOptions = new { color = "#8564C3", type = "extra-rounded" },
backgroundOptions = new { color = "#FFFFFF" }
};
var response = await client.PostAsJsonAsync(
"https://qrcode.fun/api/generate-qr-styled", payload);
var result = await response.Content.ReadFromJsonAsync<JsonElement>();
Console.WriteLine(result.GetProperty("data").GetString()?[..50]);Vista Previa de Código QR en Vivo
Prueba a generar un código QR con C# ahora mismo.
Biblioteca Nativa vs API
Compara el uso de QRCoder con la API de QRCode.fun.
| Característica | QRCoder | QRCode.fun API |
|---|---|---|
| Complejidad de configuración | Instalación NuGet | Una sola solicitud HTTP vía HttpClient |
| Personalización | Colores, logotipos, formas (ArtQRCode) | Estilizado completo: colores, formas, logotipos |
| Soporte sin conexión | Sí | Requiere internet |
| Mantenimiento | Actualización NuGet | Siempre actualizado |
| Formatos de salida | PNG, SVG, PDF, ASCII | PNG, SVG |
Casos de Uso de Códigos QR en C#
Escenarios comunes para códigos QR en aplicaciones .NET.
APIs Web ASP.NET
Genera códigos QR en APIs ASP.NET Core para boletos, facturas, tokens de autenticación y páginas de productos.
Aplicaciones de Escritorio WPF y MAUI
Crea aplicaciones de escritorio con generación de códigos QR para etiquetas, tarjetas de presentación y seguimiento de activos.
Azure Functions
Despliega generación de QR como Azure Functions serverless activadas por solicitudes HTTP o mensajes de cola.
Informes y PDF
Incorpora códigos QR en informes PDF y documentos usando QuestPDF o iTextSharp para pagos y seguimiento.
Inmersión Profunda en el Ecosistema de Códigos QR en C#
El ecosistema .NET proporciona generación de códigos QR de nivel empresarial en plataformas web, de escritorio, móviles y en la nube.
Middleware ASP.NET Core e Inyección de Dependencias
Registra QRCoder como un servicio con ámbito en el contenedor DI de ASP.NET Core para una separación limpia de responsabilidades. Crea un middleware QR dedicado que intercepte rutas específicas y devuelva imágenes QR. Usa IMemoryCache o IDistributedCache (Redis) para cachear códigos QR generados por hash de contenido, evitando la generación redundante. En APIs mínimas (.NET 7+), retorna Results.Bytes(pngData, "image/png") para endpoints QR ligeros.
MAUI y Aplicaciones de Escritorio Multiplataforma
.NET MAUI permite la generación de códigos QR en Windows, macOS, Android e iOS desde una única base de código. QRCoder funciona en todas las plataformas MAUI para generación local. Crea un control personalizado QrCodeView que envuelva la salida SVG de QRCoder en un WebView o renderice PNG a un control Image. Para aplicaciones WPF heredadas, BitmapByteQRCode de QRCoder genera arrays de bytes que se convierten directamente a fuentes BitmapImage.
Azure Functions y Despliegue Serverless
Despliega la generación de QR como Azure Functions para escalado automático y precios por ejecución. Usa funciones activadas por HTTP que acepten parámetros QR y devuelvan respuestas PNG. Para escenarios por lotes, usa funciones activadas por cola que procesen solicitudes de generación QR desde Azure Service Bus. La huella ligera de QRCoder asegura arranques en frío por debajo de 500ms. Combina con Azure CDN para cachear códigos QR solicitados frecuentemente en el edge.
Preguntas Frecuentes
Preguntas comunes sobre la generación de códigos QR con C#.
Comienza a generar códigos QR con C#
Usa nuestro generador gratuito o integra la API en tus aplicaciones .NET.