Згенеруйте швейцарський QR-код за допомогою Java

Швейцарський QR-код також відомий як швейцарський QR-рахунок. Він був розроблений для автоматизації цифрових платежів. Ми можемо легко закодувати всю необхідну платіжну інформацію, необхідну для ініціювання платежів, у швейцарському QR-коді. Швейцарський QR-код містить швейцарський хрест посередині. У цій статті ми дізнаємося, як створити швейцарський QR-код за допомогою Java. Крім того, ми також навчимося програмно декодувати та читати платіжну інформацію зі швейцарського QR-коду.

У цій статті будуть розглянуті такі теми:

Java API для створення та читання швейцарського QR-коду

Для створення та зчитування швейцарських QR-кодів ми будемо використовувати API Aspose.BarCode for Java. Він надає класи SwissQRBill і SwissQRCodetext, які пропонують різні властивості для роботи зі швейцарськими QR-кодами. Клас SwissQRBill дозволяє отримувати або встановлювати дані про виставлення рахунків і платежі, наприклад інформацію про рахунок, суму, валюту та деталі кредитора. Клас SwissQRCodetext дозволяє кодувати та декодувати інформацію 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>

Згенеруйте швейцарський QR-код на Java

Ми можемо створити швейцарський QR-код, виконавши наведені нижче дії.

  • Створіть екземпляр класу SwissQRCodetext.
  • Встановіть різні властивості SwissQRBill, такі як версія, рахунок, сума, валюта, посилання тощо.
  • Ініціалізуйте об’єкти класу Address і встановіть відомості про кредитора та боржника.
  • Після цього створіть екземпляр класу 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");
Згенеруйте швейцарський QR-код на Java.

Згенеруйте швейцарський QR-код на Java.

Налаштуйте швейцарський QR-код у Java

Ми можемо налаштувати вигляд швейцарського QR-коду, виконавши наведені нижче дії.

  • Створіть екземпляр класу SwissQRCodetext.
  • Встановіть різні властивості SwissQRBill, такі як версія, рахунок, сума, валюта, посилання тощо.
  • Ініціалізуйте об’єкти класу Address і встановіть відомості про кредитора та боржника.
  • Створіть екземпляр класу ComplexBarcodeGenerator з об’єктом SwissQRCodetext.
  • Після цього встановіть різні параметри штрих-коду, такі як ширина зображення, кодування, колір задньої панелі, роздільна здатність, рамка тощо.
  • Нарешті, викличте метод save(), щоб створити код. Він приймає шлях до файлу зображення та BarCodeImageFormat як аргументи.

У наступному прикладі коду показано, як налаштувати швейцарський 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.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);
Налаштуйте швейцарський QR-код у Java

Налаштуйте швейцарський QR-код у Java

Читайте швейцарський QR-код на 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-код
    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-коду;
  • встановити колір рамки та зворотної сторони QR-коду;
  • виявити швейцарський QR-код із зображення;
  • читати інформацію про платіж зі швейцарського QR-коду в Java.

Крім того, ви можете дізнатися більше про Aspose.BarCode for Java API за допомогою документації. У разі будь-якої неясності зв’яжіться з нами на форумі.

Дивись також