Vygenerujte švýcarský QR kód pomocí Java

Švýcarský QR kód je také známý jako Swiss QR Bill. Byl vyvinut pro automatizaci digitálních plateb. Do švýcarského QR kódu můžeme snadno zakódovat všechny potřebné platební údaje potřebné pro spouštění plateb. Švýcarský QR kód obsahuje uprostřed švýcarský kříž. V tomto článku se naučíme, jak vygenerovat švýcarský QR kód pomocí Java. Dále se také naučíme, jak programově dekódovat a číst platební informace ze švýcarského QR kódu.

Tento článek bude obsahovat následující témata:

Java API pro generování a čtení švýcarského QR kódu

Pro generování a čtení švýcarských QR kódů budeme používat API Aspose.BarCode for Java. Poskytuje třídy SwissQRBill a SwissQRCodetext nabízející různé vlastnosti pro práci se švýcarskými QR kódy. Třída SwissQRBill umožňuje získání nebo nastavení fakturačních a platebních údajů, jako jsou informace o účtu, částka, měna a podrobnosti o věřiteli. Třída SwissQRCodetext umožňuje kódování a dekódování informací SwissQRBill vložených do švýcarského QR kódu.

API poskytuje třídu ComplexBarcodeGenerator pro generování obrázků komplexních čárových kódů, jako jsou švýcarské QR kódy. Třída BarCodeReader API umožňuje čtení čárových kódů zadaného DecodeType. Třída BarCodeResult API ukládá rozpoznaná data čárového kódu, jako je typ čárového kódu a text kódu. Navíc je to API s bohatými funkcemi, které vám umožňuje generovat, skenovat a číst širokou škálu symbol čárových kódů.

Prosím buď stáhněte JAR API, nebo přidejte následující konfiguraci pom.xml do Java aplikace založené na 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>

Vygenerujte švýcarský QR kód v Javě

Švýcarský QR kód můžeme vygenerovat podle následujících kroků:

  • Vytvořte instanci třídy SwissQRCodetext.
  • Nastavte různé vlastnosti SwissQRBill, jako je Verze, Účet, Částka, Měna, Reference atd.
  • Inicializujte objekty třídy Address a nastavte podrobnosti o věřiteli a dlužníkovi.
  • Poté vytvořte instanci třídy ComplexBarcodeGenerator s objektem SwissQRCodetext.
  • Nakonec zavolejte metodu save() pro uložení obrázku na danou cestu k souboru.

Následující ukázka kódu ukazuje, jak vygenerovat švýcarský QR kód pomocí Java.

// Tento příklad kódu ukazuje, jak vygenerovat švýcarský QR kód
// Vytvořte švýcarský 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");

// Adresa věřitele
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);

// Adresa dlužníka
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);

// Vygenerujte švýcarský QR účet
ComplexBarcodeGenerator generator = new ComplexBarcodeGenerator(swissQRCode);

// Uložte obrázek čárového kódu
generator.save("SwissQRBill.png");

Přizpůsobte švýcarský QR kód v Javě

Vzhled švýcarského QR kódu můžeme upravit podle následujících kroků:

  • Vytvořte instanci třídy SwissQRCodetext.
  • Nastavte různé vlastnosti SwissQRBill, jako je Verze, Účet, Částka, Měna, Reference atd.
  • Inicializujte objekty třídy Address a nastavte podrobnosti o věřiteli a dlužníkovi.
  • Vytvořte instanci třídy ComplexBarcodeGenerator s objektem SwissQRCodetext.
  • Poté nastavte různé parametry čárového kódu, jako je šířka obrázku, kódování, barva zadní strany, rozlišení, okraj atd.
  • Nakonec zavolejte metodu save() a vygenerujte kód. Jako argumenty bere cestu k souboru obrázku a BarCodeImageFormat.

Následující ukázka kódu ukazuje, jak přizpůsobit švýcarský QR kód pomocí Java.

// Tento příklad kódu ukazuje, jak přizpůsobit vzhled švýcarského QR kódu
// Vytvořte švýcarský 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");

// Adresa věřitele
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);

// Adresa dlužníka
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);

// Vygenerujte švýcarský QR účet
ComplexBarcodeGenerator generator = new ComplexBarcodeGenerator(swissQRCode);

// Nastavte velikost obrázku
generator.getParameters().getBarcode().getXDimension().setPixels(4);

// Nastavte kódování
generator.getParameters().getBarcode().getQR().setQrEncodeMode(QREncodeMode.ECI_ENCODING);
generator.getParameters().getBarcode().getQR().setQrECIEncoding(ECIEncodings.UTF8);

// Nastavit barvu pozadí
generator.getParameters().setBackColor(Color.RED);

// Nastavte rozlišení obrázku
generator.getParameters().setResolution(300);

// Nastavit ohraničení
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);

// Uložte obrázek čárového kódu jako JPEG
generator.save("SwissQRBill.jpg", BarCodeImageFormat.JPEG);
Přizpůsobte švýcarský QR kód v Javě

Přizpůsobte švýcarský QR kód v Javě

Přečtěte si švýcarský QR kód v Javě

Čárové kódy můžeme číst z obrázku podle následujících kroků:

  • Nejprve načtěte obrázek pomocí třídy BarCodeReader.
  • Získejte výsledky rozpoznávání v objektu třídy BarCodeResult pomocí metody readBarCodes().
  • Projděte si výsledky a dekódujte švýcarský QR kód pomocí metody tryDecodeSwissQR().
  • Nakonec si přečtěte SwissQRCodetext a ukažte data.

Následující ukázka kódu ukazuje, jak číst švýcarský QR kód z obrázku pomocí Java.

// Tento příklad kódu ukazuje, jak detekovat, dekódovat a číst švýcarský QR kód
// Rozpoznejte švýcarský QR kód
BarCodeReader reader = new BarCodeReader("SwissQRBill.png", DecodeType.QR);

for (BarCodeResult barcodeResult : reader.readBarCodes())
{
    // Zkuste dekódovat švýcarský QR kód
    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 

Získejte bezplatnou licenci

Můžete získat bezplatnou dočasnou licenci a vyzkoušet knihovnu bez omezení hodnocení.

Závěr

V tomto článku jsme se naučili, jak:

  • generovat švýcarský obrázek QR Bill programově;
  • nastavit velikost a rozlišení obrázku QR kódu;
  • nastavit barvu ohraničení a zadní strany QR kódu;
  • detekovat švýcarský QR kód z obrázku;
  • přečtěte si platební údaje ze švýcarského QR kódu v Javě.

Kromě toho se můžete dozvědět více o Aspose.BarCode pro Java API pomocí dokumentace. V případě jakýchkoliv nejasností nás neváhejte kontaktovat na fóru.

Viz také