스위스 QR 코드는 스위스 QR 빌이라고도 합니다. 디지털 결제를 자동화하기 위해 개발되었습니다. 스위스 QR 코드에서 결제를 시작하는 데 필요한 모든 결제 정보를 쉽게 인코딩할 수 있습니다. 스위스 QR 코드는 가운데 스위스 십자가가 있습니다. 이 기사에서는 Java를 사용하여 스위스 QR 코드를 생성하는 방법을 배웁니다. 또한 프로그래밍 방식으로 스위스 QR 코드에서 지불 정보를 해독하고 읽는 방법도 배웁니다.
이 기사에서는 다음 주제를 다룹니다.
스위스 QR 코드 생성 및 읽기를 위한 Java API
Swiss QR 코드를 생성하고 읽기 위해 Aspose.BarCode for Java API를 사용합니다. SwissQRBill 및 SwissQRCodetext 클래스를 제공하여 스위스 QR 코드로 작업할 수 있는 다양한 속성을 제공합니다. SwissQRBill 클래스를 사용하면 계정 정보, 금액, 통화 및 채권자 세부 정보와 같은 청구 및 지불 데이터를 가져오거나 설정할 수 있습니다. SwissQRCodetext 클래스를 사용하면 스위스 QR 코드에 포함된 SwissQRBill 정보를 인코딩 및 디코딩할 수 있습니다.
API는 스위스 QR 코드와 같은 복잡한 바코드의 이미지를 생성하기 위해 ComplexBarcodeGenerator 클래스를 제공합니다. API의 BarCodeReader 클래스를 사용하면 지정된 DecodeType의 바코드를 읽을 수 있습니다. API의 BarCodeResult 클래스는 바코드 종류, 코드 텍스트 등 인식된 바코드 데이터를 저장합니다. 또한 다양한 바코드 기호를 생성, 스캔 및 읽을 수 있는 기능이 풍부한 API입니다.
API의 JAR을 다운로드하거나 Maven 기반 Java 애플리케이션에서 다음 pom.xml 구성을 추가하십시오.
<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>
Java에서 스위스 QR 코드 생성
아래 단계에 따라 스위스 QR 코드를 생성할 수 있습니다.
- SwissQRCodetext 클래스의 인스턴스를 만듭니다.
- 버전, 계정, 금액, 통화, 참조 등과 같은 다양한 SwissQRBill 속성을 설정합니다.
- Address 클래스 개체를 초기화하고 Creditor 및 Debtor 세부 정보를 설정합니다.
- 그런 다음 SwissQRCodetext 개체를 사용하여 ComplexBarcodeGenerator 클래스의 인스턴스를 만듭니다.
- 마지막으로 save() 메서드를 호출하여 주어진 파일 경로에 이미지를 저장합니다.
다음 코드 샘플은 Java를 사용하여 스위스 QR 코드를 생성하는 방법을 보여줍니다.
// 이 코드 예제는 스위스 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");
Java에서 스위스 QR 코드 사용자 정의
아래 단계에 따라 스위스 QR 코드의 모양을 사용자 정의할 수 있습니다.
- SwissQRCodetext 클래스의 인스턴스를 만듭니다.
- 버전, 계정, 금액, 통화, 참조 등과 같은 다양한 SwissQRBill 속성을 설정합니다.
- Address 클래스 개체를 초기화하고 Creditor 및 Debtor 세부 정보를 설정합니다.
- SwissQRCodetext 개체를 사용하여 ComplexBarcodeGenerator 클래스의 인스턴스를 만듭니다.
- 그런 다음 이미지 너비, 인코딩, 배경 색상, 해상도, 테두리 등과 같은 다양한 바코드 매개변수를 설정합니다.
- 마지막으로 save() 메서드를 호출하여 코드를 생성합니다. 이미지 파일 경로와 BarCodeImageFormat을 인수로 사용합니다.
다음 코드 샘플은 Java를 사용하여 스위스 QR 코드를 사용자 정의하는 방법을 보여줍니다.
// 이 코드 예제에서는 스위스 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);
Java로 스위스 QR 코드 읽기
다음 단계에 따라 이미지에서 바코드를 읽을 수 있습니다.
- 먼저 BarCodeReader 클래스를 사용하여 이미지를 로드합니다.
- readBarCodes() 메서드를 사용하여 BarCodeResult 클래스 객체에서 인식 결과를 가져옵니다.
- 결과를 반복하고 tryDecodeSwissQR() 메서드를 사용하여 스위스 QR 코드를 디코딩합니다.
- 마지막으로 SwissQRCodetext를 읽고 데이터를 표시합니다.
다음 코드 샘플은 Java를 사용하여 이미지에서 스위스 QR 코드를 읽는 방법을 보여줍니다.
// 이 코드 예제는 스위스 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 Bill 이미지를 생성합니다.
- QR 코드 이미지 크기 및 해상도 설정
- QR 코드의 테두리와 뒷면 색상을 설정합니다.
- 이미지에서 스위스 QR 코드를 감지합니다.
- Java의 스위스 QR 코드에서 지불 세부 정보를 읽으십시오.
또한 문서를 사용하여 Aspose.BarCode for Java API에 대해 자세히 알아볼 수 있습니다. 모호한 부분이 있는 경우 포럼을 통해 언제든지 문의해 주십시오.