Como gerar códigos QR suíços usando Aspose.BarCode para .NET

Como gerar códigos QR suíços usando Aspose.BarCode para .NET

Este artigo explica como gerar códigos QR Suíços (QR-bill) com Aspose.BarCode para .NET em C#. O código QR suíço é obrigatório para faturas e pagamentos digitais na Suécia, seguindo as regras de layout e dados rigorosos definidos pela SIX Interbank Clearing.

Problemas do mundo real

As empresas suíças devem incluir um código QR padronizado (QR-bill) nas contas para automatizar pagamentos e atender aos requisitos legais.

Solução Overview

Aspose.BarCode para .NET fornece um codificador SwissQR especializado para criar códigos QR-bill de acordo com os padrões suíços, incluindo delimitadores de campo e correção de erros, pronto para bancos e fluxos de trabalho de faturação.

Pré-requisitos

Antes de começar, certifique-se de ter:

  • Visual Studio 2019 ou posterior
  • .NET 6.0 ou posterior (ou .Net Framework 4.6.2+)
  • Aspose.BarCode para .NET instalado através de NuGet
  • Conhecimento básico do C#
PM> Install-Package Aspose.BarCode

Implementação passo a passo

Passo 1: Instalar e importar Aspose.BarCode

Instale o pacote NuGet e importa os espaços de nomes necessários:

using Aspose.BarCode.Generation;

Passo 2: Criar o gerador de código QR suíço

Prepare dados de código QR suíço por formato QR-bill. Exemplo:

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);

Passo 3: Personalizar o layout e as configurações do QR Suíço

Defina o nível ECC e a cor para a conformidade:

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;

Passo 4: Gerar e salvar o código QR Suíço

Exportação para PNG ou outros formatos suportados:

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

Passo 5: Exemplo 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
    }
} 

Use Casos e Aplicações

  • Faturas e faturamento suíços: Fatura QR legalmente exigida para faturas eletrônicas e de papel
  • Banking/Payments: Ingresso imediato de dados para instituições financeiras suíças
  • Auditos de conformidade: Gerar e registar dados de bilhete QR para verificações regulamentares

Desafios comuns e soluções

Desejo 1: O pagamento rejeitado pelo banco?Solução : Valide a estrutura de dados QR e comprimentos de campo, siga rigorosamente o formato SIX QR-bill.

Challenge 2: QR não pode ser lido por aplicativos?Solução : Use a correção de erro Nível M, certifique-se de que o DPI, tamanho da impressão e contraste são corretos.

**Defetivo 3: Mapagem de dados para faturas?**Solução : Criação automática de linha de dados QR-bill dos campos de fatura.

Considerações de desempenho

  • Códigos QR suíços gerados por batch
  • Use fluxos de memória para a integração com ERP ou plataformas bancárias
  • Teste com todos os principais aplicativos bancários suíços

Melhores Práticas

  • Valida todos os códigos QR de saída usando os validadores QR-bill oficiais
  • Use dados de fatura de amostra para testes iniciais e, em seguida, automatizar para a produção
  • Exportação de 300 DPI para facturas impressas
  • Inscreva todos os dados do QR-Bill para auditoria e conformidade

Os cenários avançados

Batch gera códigos QR suíços para múltiplas faturas

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

Apresentação de código QR personalizado

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

Conclusão

Com o Aspose.BarCode para .NET, você pode criar códigos de bilhete QR suíços para faturas e pagamentos digitais, totalmente em conformidade com os requisitos bancários da Suíça. Aspose.BarCode API Referência .

 Português