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 .