Cómo generar códigos QR suizos con Aspose.BarCode para .NET

Cómo generar códigos QR suizos con Aspose.BarCode para .NET

Este artículo explica cómo generar códigos QR suizos (QR-bill) con Aspose.BarCode para .NET en C#. El código QR es obligatorio para la facturación digital y los pagos en Suiza, siguiendo las estrictas reglas de diseño y datos definidas por SIX Interbank Clearing.

Problemas del mundo real

Las empresas suizos deben incluir un código QR estándar (QR-bill) en las facturas para automatizar los pagos y cumplir con los requisitos legales.

Revisión de Soluciones

Aspose.BarCode para .NET proporciona un codificador SwissQR especializado para crear códigos de billas QR de acuerdo con los estándares suizos, incluidos los delimitadores de campos y la corrección de errores, listo para los flujos de trabajo bancarios y de facturación.

Prerequisitos

Antes de comenzar, asegúrese de tener:

  • Visual Studio 2019 o más tarde
  • .NET 6.0 o posterior (o .Net Framework 4.6.2+)
  • Aspose.BarCode para .NET instalado a través de NuGet
  • Conocimiento básico de C#
PM> Install-Package Aspose.BarCode

Implementación paso a paso

Paso 1: Instalar y importar Aspose.BarCode

Instalar el paquete NuGet y importar los espacios de nombre requeridos:

using Aspose.BarCode.Generation;

Paso 2: Crea el Generador de Código QR Suizo

Prepara los datos de código QR suizo por formato QR-bill.

string swissQrData = "SPC\n0200\n1\nCH9300762011623852957\nS\nRobert Schneider AG\nRue du Lac 1268\n2501\nBiel\nCH\n\n\n3949.75\nCHF\nHans Muster\nBahnhofstrasse 1\n8001\nZurich\nCH\nQRR\n210000000003139471430009017\nInvoice 2025\nEPD";
BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.SwissQR, swissQrData);

Paso 3: Personalizar el layout y las configuraciones de QR Suiza

Establecer el nivel y el color de ECC para la conformidad:

generator.Parameters.Barcode.QR.QrErrorLevel = QRErrorLevel.LevelM;
generator.Parameters.Barcode.XDimension.Pixels = 6;
generator.Parameters.Barcode.BarColor = Color.Black;
generator.Parameters.Barcode.BackColor = Color.White;

Paso 4: Generar y guardar el código QR suizo

Exportación a PNG o otros formatos apoyados:

generator.Save("swiss-qr-bill.png", BarCodeImageFormat.Png);

Paso 5: El ejemplo completo

using Aspose.BarCode.Generation;
using System.Drawing; // Required for Color

class Program
{
    static void Main()
    {
        string swissQrData = "SPC\n0200\n1\nCH9300762011623852957\nS\nRobert Schneider AG\nRue du Lac 1268\n2501\nBiel\nCH\n\n\n3949.75\nCHF\nHans Muster\nBahnhofstrasse 1\n8001\nZurich\nCH\nQRR\n210000000003139471430009017\nInvoice 2025\nEPD";
        BarcodeGenerator generator = new BarcodeGenerator(EncodeTypes.SwissQR, swissQrData);
        generator.Parameters.Barcode.QR.QrErrorLevel = QRErrorLevel.LevelM;
        generator.Parameters.Barcode.XDimension.Pixels = 6;
        generator.Parameters.Barcode.BarColor = Color.Black;
        generator.Parameters.Barcode.BackColor = Color.White;
        generator.Save("swiss-qr-bill.png", BarCodeImageFormat.Png);
        // Validate QR-bill with Swiss banking app
    }
} 

Usar Casos y Aplicaciones

  • Funciones y facturas suecas: Fichas QR legalmente requeridas para las facturas electrónicas y de papel
  • Banking/Payments: Entrada inmediata de datos para las instituciones financieras suecas
  • Auditos de cumplimiento: Generar y registrar datos de billetes QR para los controles regulatorios

Desafíos y soluciones comunes

Challenge 1: ¿El pago rechazado por el banco?La solución: Validar la estructura de datos QR y las longitudes de campo, siga el formato SIX QR-bill estrictamente.

**Challenge 2: ¿QR no se puede leer por aplicaciones?**La solución: Utilice la corrección de error de nivel M, asegúrese de que el DPI correcto, el tamaño de la impresión y el contraste.

Challenge 3: El mapa de datos para las facturas.La solución: Generación automática de datos de string QR-bill desde los campos de factura.

Consideraciones de rendimiento

  • Códigos QR suizos generados por batch para las facturas
  • Utilice flujos de memoria para la integración con ERP o plataformas bancarias
  • Testar con todas las principales aplicaciones bancarias suizos

Mejores Prácticas

  • Validar todos los códigos QR de salida utilizando los validadores de billas QR oficiales
  • Utilice los datos de factura de muestras para las pruebas tempranas, luego automáticamente para la producción
  • Exportación de 300 DPI para las facturas impresas
  • Lograr todos los datos de la cuenta QR para auditoría y cumplimiento

Escenarios avanzados

Batch genera códigos QR suizos para múltiples facturas

foreach (var invoice in invoices)
{
    BarcodeGenerator g = new BarcodeGenerator(EncodeTypes.SwissQR, invoice.QrData);
    g.Save($"swissqr_{invoice.Id}.png", BarCodeImageFormat.Png);
}

Aparición de código QR personalizado

generator.Parameters.Barcode.BarColor = Color.DarkGreen;
generator.Parameters.Barcode.BackColor = Color.WhiteSmoke;

Conclusión

Con Aspose.BarCode para .NET, puede crear códigos de billas QR suizos para las facturas y pagos digitales, que cumplen plenamente con los requisitos del banco suizo. Aspose.BarCode API Referencia .

 Español