
Generador de Códigos QR para VeriFactu en Blazor | IronBarcode España
Para desarrolladores en España: Las aplicaciones web Blazor que sirven al mercado español tienen requisitos normativos específicos en materia de facturación electrónica. El Real Decreto 1007/2023 obliga a que el software de facturación homologado por la AEAT genere un código QR en cada factura. VeriFactu (Real Decreto-Ley 15/2025) añade la exigencia de registros con hash encadenado y la leyenda VERI*FACTU visible en el documento PDF. En el País Vasco (Bizkaia, Gipuzkoa, Araba), TicketBAI impone un código QR o de barras en cada tíquet emitido desde un TPV. IronBarcode permite generar todos estos códigos desde Blazor Server y Blazor WebAssembly con una API unificada.
Los códigos de barras se han convertido en una parte esencial de las operaciones comerciales modernas. Simplifican la gestión de inventarios, mejoran el seguimiento de productos y agilizan los procesos de entrada de datos. Integrar capacidades de generación de códigos de barras en aplicaciones web puede ser increíblemente beneficioso, y Blazor, un popular marco de trabajo web de Microsoft, ofrece una excelente plataforma para lograr esto sin problemas.
En este tutorial, exploraremos la generación de códigos de barras dentro del marco de trabajo de Blazor utilizando la poderosa biblioteca IronBarcode. Aprenderás a crear y personalizar códigos de barras sin esfuerzo, haciendo que tus aplicaciones en Blazor sean aún más versátiles y eficientes.
IronBarcode
IronBarcode es una poderosa biblioteca de .NET diseñada para simplificar el proceso de creación de códigos de barras dentro de tus aplicaciones. Proporciona un conjunto de herramientas y funciones que permiten a los desarrolladores generar varios tipos de códigos de barras con facilidad. Ya sea que necesites crear códigos de barras para etiquetas de productos, gestión de inventarios u otros propósitos, IronBarcode hace que la tarea sea sencilla y eficiente.
Prerrequisitos
Antes de comenzar, asegúrate de tener los siguientes requisitos previos:
- Visual Studio (o cualquier otro IDE como Visual Studio Code).
- IronBarcode instalado.
- Conocimientos básicos de Blazor y C#.
Configuración de una aplicación Blazor Server en Visual Studio
Blazor Server es una excelente opción para construir aplicaciones web interactivas con .NET. Visual Studio, el potente entorno de desarrollo integrado (IDE) de Microsoft, facilita la creación de estas aplicaciones. Aquí, crearemos una aplicación de servidor Blazor usando Visual Studio.
Si aún no has instalado Visual Studio, puedes descargarlo desde el sitio web de Visual Studio.
Crear un nuevo proyecto
-
Haz clic en "Crear un nuevo proyecto".

-
Busca "Blazor Server App" utilizando la barra de búsqueda en la parte superior.
-
Selecciona "Blazor Server App" de la lista de plantillas de proyectos y haz clic en el botón "Siguiente".

Configurar la aplicación Blazor
- En el diálogo "Configura tu nuevo proyecto", deberás proporcionar algunos detalles:
- Nombre del proyecto: ingrese un nombre para su aplicación Blazor .
- Ubicación: elige dónde quieres guardar los archivos de tu proyecto.
- Nombre de la solución: Opcionalmente, puede cambiar el nombre de la solución que contiene su proyecto.
- Haz clic en el botón "Siguiente" para continuar.

información adicional
- Asegúrate de que ".NET 6.0 (LTS)" esté seleccionado en el menú desplegable.
- Si deseas agregar autenticación a tu aplicación, puedes elegir entre las opciones disponibles. Visual Studio proporciona plantillas para Cuentas de Usuario Individuales, Cuentas de Trabajo o Escuela, entre otras. También puedes elegir "Ninguna" si no necesitas autenticación de inmediato.
- Haz clic en el botón "Crear" para finalizar la configuración de tu proyecto.

Instalar IronBarcode
Para instalar la biblioteca IronBarcode a través del Administrador de Paquetes NuGet en Visual Studio para tu proyecto Blazor, puedes seguir estos pasos:
-
Haz clic derecho en tu proyecto en el Explorador de Soluciones de Visual Studio, y luego selecciona "Administrar Paquetes NuGet".

-
En la ventana "Administrador de Paquetes NuGet", asegúrate de estar en la pestaña "Examinar".
-
En el cuadro de búsqueda en la esquina superior derecha, escribe "IronBarcode" y presiona Enter.

-
Haz clic en el botón "Instalar" a continuación, y comenzará el proceso de instalación.
Siguiendo esta configuración, asegúrate de que IronBarcode esté integrado exitosamente en tu proyecto agregando la directiva using necesaria en tu código y pruébalo generando un código de barras simple:
using IronBarCode; // Import the IronBarcode library
namespace YourNamespace
{
public class BarcodeGenerator
{
public void GenerateBarcode()
{
// Creates a barcode with text "Hello World"
BarcodeWriter.CreateBarcode("Hello World", BarcodeWriterEncoding.Code128)
.SaveAsPng("barcode.png"); // Saves the barcode image as a PNG file
}
}
}Imports IronBarCode ' Import the IronBarcode library
Namespace YourNamespace
Public Class BarcodeGenerator
Public Sub GenerateBarcode()
' Creates a barcode with text "Hello World"
BarcodeWriter.CreateBarcode("Hello World", BarcodeWriterEncoding.Code128).SaveAsPng("barcode.png") ' Saves the barcode image as a PNG file
End Sub
End Class
End NamespaceAsegúrese de reemplazar "YourNamespace" con el espacio de nombres apropiado para su aplicación. El código anterior crea un código de barras 'Code128' con el texto "Hello World" y lo guarda como un archivo PNG en el directorio del proyecto.
Esta sección ahora está libre de errores ortográficos y gramaticales. Además, se ha corregido el lenguaje del bloque de código delimitado a "cs" según el código fuente incrustado.
Generación de QR AEAT y TicketBAI en aplicaciones Blazor para España
En aplicaciones Blazor desplegadas en el mercado español, la generación de códigos QR cumpliendo normativa AEAT es un requisito frecuente. El siguiente patrón muestra cómo integrar la generación del QR de facturas VeriFactu en un componente Blazor Server:
using IronBarCode;
// Componente Blazor: generar QR de factura para cumplimiento AEAT/VeriFactu
public class FacturaQRService
{
public byte[] GenerarQRFactura(string nif, string serie, string numero, DateTime fecha, decimal importe)
{
// Construir la URL requerida por AEAT (Real Decreto 1007/2023)
string urlAeat = $"https://sede.agenciatributaria.gob.es/Sede/factura?nif={nif}&serie={serie}&numserie={numero}&fecha={fecha:dd-MM-yyyy}&importe={importe:F2}";
// Generar el QR con nivel de corrección Medium (recomendado para impresión en papel)
var qr = QRCodeWriter.CreateQrCode(urlAeat, 300, QRCodeWriter.QrErrorCorrectionLevel.Medium);
return qr.ToPngBinaryData();
}
}Imports IronBarCode
' Componente Blazor: generar QR de factura para cumplimiento AEAT/VeriFactu
Public Class FacturaQRService
Public Function GenerarQRFactura(nif As String, serie As String, numero As String, fecha As DateTime, importe As Decimal) As Byte()
' Construir la URL requerida por AEAT (Real Decreto 1007/2023)
Dim urlAeat As String = $"https://sede.agenciatributaria.gob.es/Sede/factura?nif={nif}&serie={serie}&numserie={numero}&fecha={fecha:dd-MM-yyyy}&importe={importe:F2}"
' Generar el QR con nivel de corrección Medium (recomendado para impresión en papel)
Dim qr = QRCodeWriter.CreateQrCode(urlAeat, 300, QRCodeWriter.QrErrorCorrectionLevel.Medium)
Return qr.ToPngBinaryData()
End Function
End ClassEste servicio se inyecta en cualquier componente Blazor (@inject FacturaQRService QRService) y permite mostrar el QR directamente en el navegador o incorporarlo al PDF de la factura mediante IronPDF. Para aplicaciones TicketBAI en Bizkaia, Gipuzkoa o Araba, el mismo patrón aplica con los parámetros específicos del esquema de cada Diputación Foral.
Las aplicaciones de e-commerce y TPV online desplegadas en España también pueden utilizar este enfoque para generar los QR de pago y los justificantes de compra que el cliente espera según la normativa de Crea y Crece y la LOPDGDD. IronBarcode gestiona automáticamente la corrección de errores Reed-Solomon y el nivel de módulo adecuado para que el código QR sea legible en papel impreso desde cualquier impresora TPV estándar.

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 estructurados y visualmente atractivos.
Artículos Relacionados

