Jak generować kody QR z użyciem Aspose.BarCode dla .NET
W tym artykule wyjaśniono, jak generować kody QR (QR-bill) za pomocą Aspose.BarCode dla .NET w C#. Kod QR jest obowiązkowy dla cyfrowych faktur i płatności w Szwajcarii, zgodnie z rygorystycznym układem i zasadami danych określonymi przez SIX Interbank Clearing.
Problem świata rzeczywistego
Szwajcarskie firmy muszą zawierać standardowy kod QR (QR-bill) na fakturach, aby automatycznie dokonywać płatności i spełniać wymagania prawne.
Przegląd rozwiązania
Aspose.BarCode dla .NET zapewnia specjalistyczny koder SwissQR do tworzenia kodów QR-bill zgodnie ze standardami szwajcarskimi, w tym rozmiary pola i naprawy błędów, gotowy do bankowania i fakturowania przepływów roboczych.
Warunki
Zanim zaczniesz, upewnij się, że masz:
- Visual Studio 2019 lub później
- .NET 6.0 lub nowszy (lub .NET Framework 4.6.2+)
- Aspose.BarCode dla .NET zainstalowany za pośrednictwem NuGet
- Podstawowe informacje o C#
PM> Install-Package Aspose.BarCodeWdrażanie krok po kroku
Krok 1: Instalacja i import Aspose.BarCode
Zainstaluj pakiet NuGet i importuj wymagane przestrzenie nazwowe:
using Aspose.BarCode.Generation;Krok 2: Tworzenie szwajcarskiego generatora kodu QR
Przygotuj dane kodu QR w formacie QR-bill. Przykład:
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);Krok 3: Dostosuj szwajcarski układ QR i ustawienia
Określenie poziomu i koloru ECC dla zgodności:
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;Krok 4: Generuj i przechowuj kod QR szwajcarski
Eksport do PNG lub inne obsługiwane formaty:
generator.Save("swiss-qr-bill.png", BarCodeImageFormat.Png);Krok 5: Pełny przykład
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
}
} Korzystanie z przypadków i aplikacji
- Faktury szwajcarskie i fakturowanie: Zasadniczo wymagane rachunki QR na faktury elektroniczne i papierowe
- Banking/Płatności: Natychmiastowy wpis danych dla szwajcarskich instytucji finansowych
- Audyty zgodności: Generuj i rejestruj dane o rachunku QR do kontroli regulacyjnych
Wspólne wyzwania i rozwiązania
**Wyzwanie 1: Płatność odrzucona przez bank?**Rozwiązanie: Validuj strukturę danych QR i długości pola, śledź format SIX QR-bill ściśle.
**Wyzwanie 2: QR nie jest czytelne przez aplikacje?**Rozwiązanie: Użyj korekcji błędu poziomu M, upewnij się, że poprawny DPI, rozmiar druku i kontrast.
**Wyzwanie 3: Mapowanie danych dla faktur?**Rozwiązanie: Automatyczna generacja łańcuchów danych QR-bill z pól faktury.
uwzględnienie wydajności
- Szwajcarskie kody QR dla faktur
- Użyj strumieni pamięci do integracji z ERP lub platformami bankowymi
- Test wszystkich głównych szwajcarskich aplikacji bankowych
Najlepsze praktyki
- Validuj wszystkie wyjściowe kody QR za pomocą oficjalnych weryfikatorów biletu QR
- Użyj danych faktury próbki na wczesne testy, a następnie automatyzuj do produkcji
- Eksport w wysokości 300 dpi dla faktur drukowanych
- Zarejestruj wszystkie dane QR-bill dla audytu i zgodności
Zaawansowane scenariusze
Batch generuje szwajcarskie kody QR dla wielu faktur
foreach (var invoice in invoices)
{
BarcodeGenerator g = new BarcodeGenerator(EncodeTypes.SwissQR, invoice.QrData);
g.Save($"swissqr_{invoice.Id}.png", BarCodeImageFormat.Png);
}Dostosowany kod QR
generator.Parameters.Barcode.BarColor = Color.DarkGreen;
generator.Parameters.Barcode.BackColor = Color.WhiteSmoke;konkluzja
Za pomocą Aspose.BarCode dla .NET można utworzyć szwajcarskie kody rachunkowe QR dla cyfrowych faktur i płatności, w pełni zgodne z wymaganiami bankowości Aspose.BarCode API Referencje .