إنشاء رمز الاستجابة السريعة السويسري باستخدام جافا

يُعرف رمز QR السويسري أيضًا باسم فاتورة QR السويسرية. تم تطويره لأتمتة المدفوعات الرقمية. يمكننا بسهولة ترميز جميع معلومات الدفع الضرورية المطلوبة لبدء المدفوعات في رمز الاستجابة السريعة السويسري. يحتوي رمز الاستجابة السريعة السويسري على صليب سويسري في المنتصف. في هذه المقالة ، سوف نتعلم كيفية إنشاء رمز QR سويسري باستخدام Java. علاوة على ذلك ، سوف نتعلم أيضًا كيفية فك شفرة معلومات الدفع وقراءتها من رمز QR السويسري برمجيًا.

سيتم تناول الموضوعات التالية في هذه المقالة:

Java API لإنشاء وقراءة رمز الاستجابة السريعة السويسري

لتوليد وقراءة رموز QR السويسرية ، سنستخدم Aspose.BarCode for Java API. وهي توفر فئات SwissQRBill و SwissQRCodetext تقدم خصائص مختلفة للعمل مع رموز QR السويسرية. تتيح فئة SwissQRBill الحصول على أو تعيين بيانات الفوترة والدفع ، مثل معلومات الحساب والمبلغ والعملة وتفاصيل الدائن. تسمح فئة SwissQRCodetext بتشفير وفك تشفير معلومات SwissQRBill المضمنة في رمز QR السويسري.

توفر واجهة برمجة التطبيقات فئة ComplexBarcodeGenerator لتوليد صور الرموز الشريطية المعقدة ، مثل رموز QR السويسرية. تسمح فئة BarCodeReader الخاصة بواجهة برمجة التطبيقات بقراءة الرموز الشريطية الخاصة بـ DecodeType المحدد. تقوم فئة BarCodeResult الخاصة بواجهة برمجة التطبيقات بتخزين بيانات الرمز الشريطي التي تم التعرف عليها ، مثل نوع الرمز الشريطي ونص الكود. علاوة على ذلك ، فهي واجهة برمجة تطبيقات غنية بالميزات تتيح لك إنشاء مجموعة كبيرة من رموز الرموز الشريطية ومسحها ضوئيًا وقراءتها.

يرجى إما تنزيل JAR الخاص بواجهة برمجة التطبيقات أو إضافة تكوين pom.xml التالي في تطبيق Java المستند إلى Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-barcode</artifactId>
    <version>22.5</version>
</dependency>

إنشاء رمز الاستجابة السريعة السويسري في جافا

يمكننا إنشاء رمز QR سويسري باتباع الخطوات الواردة أدناه:

  • قم بإنشاء مثيل لفئة SwissQRCodetext.
  • قم بتعيين العديد من خصائص SwissQRBill مثل الإصدار ، والحساب ، والمبلغ ، والعملة ، والمرجع ، وما إلى ذلك.
  • تهيئة كائنات فئة العنوان وتعيين تفاصيل الدائن والمدين.
  • بعد ذلك ، قم بإنشاء مثيل لفئة ComplexBarcodeGenerator باستخدام كائن SwissQRCodetext.
  • أخيرًا ، قم باستدعاء طريقة save() لحفظ الصورة في مسار الملف المحدد.

يوضح نموذج التعليمات البرمجية التالي كيفية إنشاء رمز QR سويسري باستخدام Java.

// يوضح مثال الرمز هذا كيفية إنشاء رمز QR سويسري
// إنشاء فاتورة QR سويسرية
SwissQRCodetext swissQRCode = new SwissQRCodetext();
swissQRCode.getBill().setVersion(QrBillStandardVersion.V2_0);
swissQRCode.getBill().setAccount("CH4431999123000889012");
swissQRCode.getBill().setAmount(1000.25);
swissQRCode.getBill().setCurrency("CHF");
swissQRCode.getBill().setReference("210000000003139471430009017");

// عنوان الدائن
Address creditorAddress = new Address();
creditorAddress.setName("Muster & Söhne");
creditorAddress.setStreet("Musterstrasse");
creditorAddress.setHouseNo("12b");
creditorAddress.setPostalCode("8200");
creditorAddress.setTown("Zürich");
creditorAddress.setCountryCode("CH");
swissQRCode.getBill().setCreditor(creditorAddress);

// عنوان المدين
Address debtorAddress = new Address();
debtorAddress.setName("Muster AG");
debtorAddress.setStreet("Musterstrasse");
debtorAddress.setHouseNo("1");
debtorAddress.setPostalCode("3030");
debtorAddress.setTown("Bern");
debtorAddress.setCountryCode("CH");
swissQRCode.getBill().setDebtor(debtorAddress);

// إنشاء فاتورة QR سويسرية
ComplexBarcodeGenerator generator = new ComplexBarcodeGenerator(swissQRCode);

// احفظ صورة الباركود
generator.save("SwissQRBill.png");
Generate Swiss QR Code in Java.

تخصيص رمز الاستجابة السريعة السويسري في جافا

يمكننا تخصيص مظهر رمز الاستجابة السريعة السويسري باتباع الخطوات الواردة أدناه:

  • قم بإنشاء مثيل لفئة SwissQRCodetext.
  • قم بتعيين العديد من خصائص SwissQRBill مثل الإصدار ، والحساب ، والمبلغ ، والعملة ، والمرجع ، وما إلى ذلك.
  • تهيئة كائنات فئة العنوان وتعيين تفاصيل الدائن والمدين.
  • إنشاء مثيل لفئة ComplexBarcodeGenerator باستخدام كائن SwissQRCodetext.
  • بعد ذلك ، قم بتعيين معلمات الباركود المختلفة مثل عرض الصورة ، والتشفير ، واللون الخلفي ، والدقة ، والحدود ، وما إلى ذلك.
  • أخيرًا ، قم باستدعاء طريقة save() لإنشاء الكود. يأخذ مسار ملف الصورة و BarCodeImageFormat كوسائط.

يوضح نموذج التعليمات البرمجية التالي كيفية تخصيص رمز QR سويسري باستخدام Java.

// يوضح مثال الرمز هذا كيفية تخصيص مظهر رمز الاستجابة السريعة السويسري
// إنشاء فاتورة QR سويسرية
SwissQRCodetext swissQRCode = new SwissQRCodetext();
swissQRCode.getBill().setVersion(QrBillStandardVersion.V2_0);
swissQRCode.getBill().setAccount("CH4431999123000889012");
swissQRCode.getBill().setAmount(1000.25);
swissQRCode.getBill().setCurrency("CHF");
swissQRCode.getBill().setReference("210000000003139471430009017");

// عنوان الدائن
Address creditorAddress = new Address();
creditorAddress.setName("Muster & Söhne");
creditorAddress.setStreet("Musterstrasse");
creditorAddress.setHouseNo("12b");
creditorAddress.setPostalCode("8200");
creditorAddress.setTown("Zürich");
creditorAddress.setCountryCode("CH");
swissQRCode.getBill().setCreditor(creditorAddress);

// عنوان المدين
Address debtorAddress = new Address();
debtorAddress.setName("Muster AG");
debtorAddress.setStreet("Musterstrasse");
debtorAddress.setHouseNo("1");
debtorAddress.setPostalCode("3030");
debtorAddress.setTown("Bern");
debtorAddress.setCountryCode("CH");
swissQRCode.getBill().setDebtor(debtorAddress);

// إنشاء فاتورة QR سويسرية
ComplexBarcodeGenerator generator = new ComplexBarcodeGenerator(swissQRCode);

// تعيين حجم الصورة
generator.getParameters().getBarcode().getXDimension().setPixels(4);

// تعيين الترميز
generator.getParameters().getBarcode().getQR().setQrEncodeMode(QREncodeMode.ECI_ENCODING);
generator.getParameters().getBarcode().getQR().setQrECIEncoding(ECIEncodings.UTF8);

// تعيين لون الخلفية
generator.getParameters().setBackColor(Color.RED);

// ضبط دقة الصورة
generator.getParameters().setResolution(300);

// تعيين الحدود
generator.getParameters().getBorder().getColor().brighter();
generator.getParameters().getBorder().setDashStyle(BorderDashStyle.SOLID);
generator.getParameters().getBorder().setColor(Color.BLUE);
generator.getParameters().getBorder().setVisible(true);
generator.getParameters().getBorder().getWidth().setPoint(4);

// احفظ صورة الباركود بصيغة JPEG
generator.save("SwissQRBill.jpg", BarCodeImageFormat.JPEG);
تخصيص رمز الاستجابة السريعة السويسري في جافا

تخصيص رمز الاستجابة السريعة السويسري في جافا

قراءة رمز الاستجابة السريعة السويسري في جافا

يمكننا قراءة الباركود من صورة باتباع الخطوات الواردة أدناه:

  • أولاً ، قم بتحميل صورة باستخدام فئة BarCodeReader.
  • الحصول على نتائج التعرف في كائن فئة BarCodeResult باستخدام أسلوب readBarCodes().
  • قم بالتكرار خلال النتائج وفك تشفير رمز الاستجابة السريعة السويسري باستخدام طريقة tryDecodeSwissQR().
  • أخيرًا ، اقرأ نص SwissQRC وأظهر البيانات.

يوضح نموذج التعليمات البرمجية التالي كيفية قراءة رمز QR السويسري من صورة باستخدام Java.

// يوضح مثال الرمز هذا كيفية اكتشاف رمز QR السويسري وفك تشفيره وقراءته
// التعرف على رمز الاستجابة السريعة السويسري
BarCodeReader reader = new BarCodeReader("SwissQRBill.png", DecodeType.QR);

for (BarCodeResult barcodeResult : reader.readBarCodes())
{
    // حاول فك رمز الاستجابة السريعة السويسري
    SwissQRCodetext swissResult = ComplexCodetextReader.tryDecodeSwissQR(barcodeResult.getCodeText());
    if (null != swissResult)
    {
        System.out.println("Version: " + swissResult.getBill().getVersion());
        System.out.println("Account: " + swissResult.getBill().getAccount());
        System.out.println("Amount: " + swissResult.getBill().getAmount());
        System.out.println("Currency: " + swissResult.getBill().getCurrency());
        System.out.println("Reference: " + swissResult.getBill().getReference());

        System.out.println("Creditor Name: " + swissResult.getBill().getCreditor().getName());
        System.out.println("Creditor Street: " + swissResult.getBill().getCreditor().getStreet());
        System.out.println("Creditor House: " + swissResult.getBill().getCreditor().getHouseNo());
        System.out.println("Creditor Postal Code: " + swissResult.getBill().getCreditor().getPostalCode());
        System.out.println("Creditor Town: " + swissResult.getBill().getCreditor().getTown());
        System.out.println("Creditor Country: " + swissResult.getBill().getCreditor().getCountryCode());

        System.out.println("Debtor Name: " + swissResult.getBill().getDebtor().getName());
        System.out.println("Debtor Street: " + swissResult.getBill().getDebtor().getStreet());
        System.out.println("Debtor House: " + swissResult.getBill().getDebtor().getHouseNo());
        System.out.println("Debtor Postal Code: " + swissResult.getBill().getDebtor().getPostalCode());
        System.out.println("Debtor Town: " + swissResult.getBill().getDebtor().getTown());
        System.out.println("Debtor Country: " + swissResult.getBill().getDebtor().getCountryCode());
    }
}
Version: V2_0
Account: CH4431999123000889012
Amount: 1000.25
Currency: CHF
Reference: 210000000003139471430009017
Creditor Name: Muster & Söhne
Creditor Street: Musterstrasse
Creditor House: 12b
Creditor Postal Code: 8200
Creditor Town: Zürich
Creditor Country: CH
Debtor Name: Muster AG
Debtor Street: Musterstrasse
Debtor House: 1
Debtor Postal Code: 3030
Debtor Town: Bern
Debtor Country: CH 

احصل على رخصة مجانية

يمكنك الحصول على ترخيص مؤقت مجاني لتجربة المكتبة دون قيود التقييم.

استنتاج

في هذه المقالة ، تعلمنا كيفية:

  • إنشاء صورة فاتورة QR سويسرية برمجيًا ؛
  • تعيين حجم صورة رمز الاستجابة السريعة ودقتها ؛
  • ضبط الحدود واللون الخلفي لرمز الاستجابة السريعة ؛
  • اكتشاف رمز QR السويسري من صورة ؛
  • قراءة تفاصيل الدفع من رمز الاستجابة السريعة السويسري في جافا.

بالإضافة إلى ذلك ، يمكنك معرفة المزيد حول Aspose.BarCode لواجهة برمجة تطبيقات Java باستخدام التوثيق. في حالة وجود أي غموض ، فلا تتردد في الاتصال بنا على المنتدى.

أنظر أيضا