Hvordan man genererer svenske QR-koder ved hjælp af Aspose.BarCode for .NET
Denne artikel forklarer, hvordan man genererer Swiss QR-koder (QR-bill) med Aspose.BarCode for .NET i C#. Den schweiziske QR kod er obligatorisk for digital fakturering og betalinger i Schweiz, i overensstemmelse med strenge layout og data regler defineret af SIX Interbank Clearing.
Det virkelige problem
Schweiziske virksomheder skal indeholde en standardiseret QR-kode (QR-bill) på fakturaer for at automatisere betalinger og opfylde juridiske krav.
Oversigt over løsning
Aspose.BarCode for .NET giver en specialiseret SwissQR koder til at oprette QR-bill-koder i overensstemmelse med schweiziske standarder, herunder feltdelimitter og fejl korrigering, klar til banking og fakturering arbejdsprocesser.
Forudsætninger
Før du starter, sørg for at du har:
- Visual Studio 2019 eller senere
- .NET 6.0 eller nyere (eller .Net Framework 4.6.2+)
- Aspose.BarCode for .NET installeret via NuGet
- Grundlæggende viden om C#
PM> Install-Package Aspose.BarCode
Step-by-Step gennemførelse
Trin 1: Installation og import af Aspose.BarCode
Installere NuGet-pakken og importere de nødvendige navneområder:
using Aspose.BarCode.Generation;
Trin 2: Skab den svenske QR-kodegenerator
Forbered QR-kodeoplysninger i form af QR bill. Eksempel:
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);
Trin 3: Tilpasning af Swiss QR Layout og indstillinger
Indstill ECC niveau og farve for overensstemmelse:
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;
Trin 4: Generere og gem QR-koden
Eksport til PNG eller andre støttede formater:
generator.Save("swiss-qr-bill.png", BarCodeImageFormat.Png);
Trin 5: Et fuldstændigt eksempel
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
}
}
Brug af tilfælde og applikationer
- Sviss fakturaer og fakturering: Lovligt krævet QR-bill for elektroniske og papirindtægter
- Banking/betalinger: Instant dataindtægter for schweiziske finansielle institutioner
- ** Overensstemmelsesaudits:** Generere og logge QR-billeddata til regulatoriske kontroller
Fælles udfordringer og løsninger
** Udfordring 1: Betalinger afvises af banken?**Løsningen er: Validerer QR-datastrukturen og feltlængderne, følg SIX-QR-bill-formatet strengt.
**Challenge 2: QR ikke læses af apps?**Løsningen er: Brug niveau M fejl korrigering, sikre den korrekte DPI, printstørrelse og kontrast.
** Udfordring 3: Data mapping for fakturaer?**Løsningen er: Automatisk QR-bill-data string generering fra fakturafelter.
Performance overvejelser
- Batch-genererede svenske QR-koder til fakturaer
- Brug hukommelsestrømme til integration med ERP eller bankplatforme
- Test med alle de vigtigste schweiziske bankapps
Bedste praksis
- Validerer alle output QR koder ved hjælp af officielle QR-bill validatorer
- Brug mønster fakturaoplysninger til tidlige tests, derefter automatisering til produktion
- Eksport på 300 dpi til udskrivning af fakturaer
- Log alle QR-billdata til revision og overholdelse
Avancerede scenarier
Batch genererer svenske QR-koder til flere fakturaer
foreach (var invoice in invoices)
{
BarcodeGenerator g = new BarcodeGenerator(EncodeTypes.SwissQR, invoice.QrData);
g.Save($"swissqr_{invoice.Id}.png", BarCodeImageFormat.Png);
}
Tilpasset QR-kode udseende
generator.Parameters.Barcode.BarColor = Color.DarkGreen;
generator.Parameters.Barcode.BackColor = Color.WhiteSmoke;
Konklusion
Med Aspose.BarCode for .NET kan du oprette schweiziske QR-billekoder til digitale fakturaer og betalinger, fuldt ud i overensstemmelse med Schweiziske bankkrav. Aspose.BarCode API Reference .