كيفية إنشاء رموز QR السويسرية باستخدام Aspose.BarCode ل .NET

كيفية إنشاء رموز QR السويسرية باستخدام Aspose.BarCode ل .NET

يشرح هذا المقال كيفية توليد رموز QR السويسرية (QR-bill) باستخدام Aspose.BarCode لـ .NET في C#. يعد رمز QR سويسري إلزاميًا للتسجيل الرقمي والمدفوعات في المملكة العربية السعودية ، وفقًّا لقواعد التصميم والبيانات الصارمة التي يحددها SIX Interbank Clearing.

مشكلة العالم الحقيقي

يجب على الشركات السويسرية تضمين رمز QR القياسي (QR-bill) على الفواتير لتلقائي الدفع وتلبية المتطلبات القانونية.

نظرة عامة على الحل

يوفر Aspose.BarCode for .NET رمز SwissQR المتخصص لإنشاء رموز حساب QR وفقًا للمعايير السويسرية ، بما في ذلك مقياسات الحقول وتصحيح الأخطاء ، جاهزة لعملية البنوك والفواتير.

المتطلبات

قبل البدء، تأكد من أن لديك:

  • Visual Studio 2019 أو أحدث
  • .NET 6.0 أو أعلى (أو .Net Framework 4.6.2+)
  • Aspose.BarCode لـ .NET مثبتة من خلال NuGet
  • المعرفة الأساسية لـ C#
PM> Install-Package Aspose.BarCode

تنفيذ خطوة بخطوة

الخطوة 1: تثبيت واستيراد Aspose.BarCode

قم بتثبيت حزمة NuGet واستيراد المساحات المطلوبة:

using Aspose.BarCode.Generation;

الخطوة 2: إنشاء مولد رمز QR السويسري

إعداد بيانات رمز QR السويسري حسب تنسيق 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);

الخطوة 3: تخصيص ترتيب وإعدادات QR السويسرية

إعداد مستوى ECC والألوان للامتثال:

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;

الخطوة 4: توليد وتخزين رمز QR السويسري

تصدير إلى PNG أو غيرها من التنسيقات المدعومة:

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

الخطوة الخامسة: نموذج كامل

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
    }
} 

استخدام الحالات والتطبيقات

  • الفواتير السويسرية والتسجيل: الحسابات QR المطلوبة بشكل قانوني للفواترات الإلكترونية والورقية
  • البنوك/المدفوعات: إدخال البيانات الفورية للمؤسسات المالية السويسرية
  • مراجعات الامتثال: إنتاج وتسجيل بيانات الفاتورة QR للتحقق التنظيمي

التحديات والحلول المشتركة

التحدي الأول: هل يتم رفض الدفع من قبل البنك؟الحل : تأكيد بنية بيانات QR وأطوال الحقول، واتباع تنسيق SIX QR-bill بدقة.

التحدي الثاني: QR غير قابل للقراءة بواسطة التطبيقات.الحل : استخدم تصحيح الخطأ المستوى M، وضمان DPI الصحيح، وحجم الطباعة، والتباين.

التحدي الثالث: خرائط البيانات للحسابات؟الحل : تلقائيًا إنتاج سلاسل البيانات QR-bill من حقول الفواتير.

اعتبارات الأداء

  • كودات QR السويسرية التي تم إنشاؤها في الفواتير
  • استخدام تدفقات الذاكرة للتكامل مع ERP أو المنصات المصرفية
  • اختبار مع جميع التطبيقات المصرفية السويسرية الرئيسية

أفضل الممارسات

  • تأكيد جميع رموز QR الإخراج باستخدام التحققات الرسمية QR-bill
  • استخدم بيانات فاتورة العينات للاختبارات المبكرة ، ثم تلقائيًا للإنتاج
  • تصدير 300 DPI للفواتير المطبوعة
  • تسجيل جميع بيانات الفاتورة QR للمراجعة والامتثال

سيناريوهات متقدمة

Batch تنتج رموز QR السويسرية للعديد من الفواتير

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

2- عرض رمز QR المخصص

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

استنتاجات

مع Aspose.BarCode for .NET ، يمكنك إنشاء رموز الفاتورة السويسرية للحسابات والمدفوعات الرقمية ، والتي تتوافق تمامًا مع متطلبات البنوك في سويسرا. Aspose.BarCode API مرجعية .

 عربي