สร้าง Swiss QR Code โดยใช้ Java

รหัส QR ของสวิสเรียกอีกอย่างว่า Swiss QR Bill ได้รับการพัฒนาเพื่อให้การชำระเงินแบบดิจิทัลเป็นไปโดยอัตโนมัติ เราสามารถเข้ารหัสข้อมูลการชำระเงินที่จำเป็นทั้งหมดเพื่อกระตุ้นการชำระเงินใน Swiss QR Code ได้อย่างง่ายดาย รหัส QR ของสวิสมีเครื่องหมายกากบาทสวิสอยู่ตรงกลาง ในบทความนี้ เราจะเรียนรู้วิธีสร้าง Swiss QR Code โดยใช้ Java นอกจากนี้ เราจะได้เรียนรู้วิธีถอดรหัสและอ่านข้อมูลการชำระเงินจากรหัส QR ของสวิสโดยทางโปรแกรม

หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:

Java API เพื่อสร้างและอ่าน Swiss QR Code

สำหรับการสร้างและอ่านรหัส QR ของสวิส เราจะใช้ API Aspose.BarCode for Java มีคลาส SwissQRBill และ SwissQRCodetext ที่มีคุณสมบัติหลากหลายเพื่อใช้งานกับรหัส QR ของสวิส คลาส SwissQRBill ช่วยให้สามารถรับหรือตั้งค่าข้อมูลการเรียกเก็บเงินและการชำระเงิน เช่น ข้อมูลบัญชี จำนวนเงิน สกุลเงิน และรายละเอียดเจ้าหนี้ คลาสข้อความ SwissQRCode อนุญาตให้เข้ารหัสและถอดรหัสข้อมูล SwissQRBill ที่ฝังอยู่ในรหัส QR ของสวิส

API มีคลาส ComplexBarcodeGenerator สำหรับสร้างรูปภาพของบาร์โค้ดที่ซับซ้อน เช่น รหัส QR ของสวิส คลาส BarCodeReader ของ API ช่วยให้อ่านบาร์โค้ดของ DecodeType ที่ระบุได้ คลาส BarCodeResult ของ API เก็บข้อมูลบาร์โค้ดที่รู้จัก เช่น ประเภทบาร์โค้ดและข้อความรหัส นอกจากนี้ ยังเป็น API ที่มีคุณลักษณะหลากหลายซึ่งช่วยให้คุณสร้าง สแกน และอ่าน สัญลักษณ์บาร์โค้ด ได้หลากหลาย

โปรด ดาวน์โหลด JAR ของ API หรือเพิ่มการกำหนดค่า 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>

สร้าง Swiss QR Code ใน Java

เราสามารถสร้างรหัส QR ของสวิสได้โดยทำตามขั้นตอนด้านล่าง:

  • สร้างอินสแตนซ์ของคลาส SwissQRCodetext
  • ตั้งค่าคุณสมบัติ SwissQRBill ต่างๆ เช่น เวอร์ชัน บัญชี จำนวนเงิน สกุลเงิน การอ้างอิง เป็นต้น
  • เริ่มต้นวัตถุคลาสที่อยู่และตั้งค่ารายละเอียดเจ้าหนี้และลูกหนี้
  • หลังจากนั้น สร้างอินสแตนซ์ของคลาส ComplexBarcodeGenerator ด้วยวัตถุ SwissQRCodetext
  • สุดท้าย เรียกใช้เมธอด save() เพื่อบันทึกภาพตามเส้นทางไฟล์ที่กำหนด

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้าง Swiss QR code โดยใช้ Java

// ตัวอย่างรหัสนี้สาธิตวิธีสร้างรหัส QR ของสวิส
// สร้าง Swiss QR Bill
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);

// สร้าง Swiss QR Bill
ComplexBarcodeGenerator generator = new ComplexBarcodeGenerator(swissQRCode);

// บันทึกภาพบาร์โค้ด
generator.save("SwissQRBill.png");

ปรับแต่ง Swiss QR Code ใน Java

เราสามารถปรับแต่งรูปลักษณ์ของรหัส QR ของสวิสได้โดยทำตามขั้นตอนด้านล่าง:

  • สร้างอินสแตนซ์ของคลาส SwissQRCodetext
  • ตั้งค่าคุณสมบัติ SwissQRBill ต่างๆ เช่น เวอร์ชัน บัญชี จำนวนเงิน สกุลเงิน การอ้างอิง เป็นต้น
  • เริ่มต้นวัตถุคลาสที่อยู่และตั้งค่ารายละเอียดเจ้าหนี้และลูกหนี้
  • สร้างอินสแตนซ์ของคลาส ComplexBarcodeGenerator ด้วยออบเจ็กต์ SwissQRCodetext
  • หลังจากนั้นให้ตั้งค่าต่างๆ ของบาร์โค้ด เช่น ความกว้างของภาพ การเข้ารหัส สีด้านหลัง ความละเอียด เส้นขอบ เป็นต้น
  • สุดท้าย เรียกเมธอด save() เพื่อสร้างโค้ด ใช้เส้นทางไฟล์รูปภาพและ BarCodeImageFormat เป็นอาร์กิวเมนต์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีปรับแต่งโค้ด QR ของสวิสโดยใช้ Java

// ตัวอย่างรหัสนี้สาธิตวิธีปรับแต่งลักษณะที่ปรากฏของรหัส QR ของสวิส
// สร้าง Swiss QR Bill
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);

// สร้าง Swiss QR Bill
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);
ปรับแต่ง Swiss QR Code ใน Java

ปรับแต่ง Swiss QR Code ใน Java

อ่าน Swiss QR Code ใน Java

เราสามารถอ่านบาร์โค้ดจากรูปภาพได้โดยทำตามขั้นตอนด้านล่าง:

  • ประการแรก โหลดรูปภาพโดยใช้คลาส BarCodeReader
  • รับผลการจดจำในวัตถุคลาส BarCodeResult โดยใช้เมธอด readBarCodes()
  • วนซ้ำผลลัพธ์และถอดรหัสรหัส QR ของสวิสโดยใช้เมธอด tryDecodeSwissQR()
  • สุดท้าย อ่าน SwissQRCodetext และแสดงข้อมูล

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอ่านโค้ด QR ของสวิสจากรูปภาพโดยใช้ Java

// ตัวอย่างรหัสนี้สาธิตวิธีตรวจหา ถอดรหัส และอ่านรหัส QR ของสวิส
// รู้จักรหัส QR ของสวิส
BarCodeReader reader = new BarCodeReader("SwissQRBill.png", DecodeType.QR);

for (BarCodeResult barcodeResult : reader.readBarCodes())
{
    // ลองถอดรหัส QR Code ของสวิส
    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 

รับใบอนุญาตฟรี

คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อทดลองใช้ห้องสมุดโดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีการ:

  • สร้างภาพ Swiss QR Bill โดยทางโปรแกรม
  • กำหนดขนาดและความละเอียดของภาพรหัส QR;
  • กำหนดเส้นขอบและสีหลังของคิวอาร์โค้ด
  • ตรวจจับรหัส QR ของสวิสจากรูปภาพ
  • อ่านรายละเอียดการชำระเงินจาก Swiss QR Code ใน Java

นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.BarCode for Java API โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม

ดูสิ่งนี้ด้วย