Java QR코드 라이브러리
Java로 QR코드 생성
Java의 ZXing(Zebra Crossing) 라이브러리는 바코드와 QR코드 생성의 업계 표준입니다. Spring Boot, Android 또는 모든 Java 애플리케이션에서 사용할 수 있습니다.
설치
Maven 또는 Gradle을 사용하여 Java 프로젝트에 ZXing을 추가하세요.
Maven
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.5.3</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.5.3</version>
</dependency>Gradle
implementation 'com.google.zxing:core:3.5.3'
implementation 'com.google.zxing:javase:3.5.3'ZXing으로 QR코드 생성
Java에서 ZXing 라이브러리를 사용한 코드 예제.
Basic QR Code Generation
import com.google.zxing.*;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import java.nio.file.Path;
public class QRGenerator {
public static void main(String[] args) throws Exception {
BitMatrix matrix = new MultiFormatWriter().encode(
"https://qrcode.fun",
BarcodeFormat.QR_CODE, 300, 300
);
MatrixToImageWriter.writeToPath(matrix, "PNG", Path.of("qrcode.png"));
}
}QR Code with Custom Colors
import com.google.zxing.*;
import com.google.zxing.common.BitMatrix;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.File;
public class CustomQR {
public static void main(String[] args) throws Exception {
BitMatrix matrix = new MultiFormatWriter().encode(
"https://qrcode.fun",
BarcodeFormat.QR_CODE, 300, 300
);
BufferedImage image = new BufferedImage(300, 300, BufferedImage.TYPE_INT_RGB);
int darkColor = 0xFF1A2B3C;
int lightColor = 0xFFFFFFFF;
for (int x = 0; x < 300; x++) {
for (int y = 0; y < 300; y++) {
image.setRGB(x, y, matrix.get(x, y) ? darkColor : lightColor);
}
}
ImageIO.write(image, "PNG", new File("qrcode_custom.png"));
}
}QRCode.fun API
Java에서 API로 QR코드 생성
HttpClient를 사용하여 Java에서 QRCode.fun API를 호출하여 스타일 QR코드를 생성하세요.
Java API 통합
import java.net.URI;
import java.net.http.*;
public class QRCodeAPI {
public static void main(String[] args) throws Exception {
String json = """
{
"data": "https://qrcode.fun",
"width": 300,
"height": 300,
"type": "png",
"margin": 10,
"dotsOptions": { "color": "#1A2B3C", "type": "rounded" },
"cornersSquareOptions": { "color": "#8564C3", "type": "extra-rounded" },
"backgroundOptions": { "color": "#FFFFFF" }
}
""";
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://qrcode.fun/api/generate-qr-styled"))
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(json))
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body().substring(0, 100));
}
}QR코드 라이브 미리보기
지금 바로 Java로 QR코드를 생성해 보세요.
QR 미리보기
네이티브 라이브러리 vs API
ZXing 직접 사용과 QRCode.fun API 비교.
| 기능 | ZXing 라이브러리 | QRCode.fun API |
|---|---|---|
| 설정 복잡도 | Maven/Gradle 의존성 + BufferedImage | 단일 HTTP 요청 |
| 커스터마이징 | 크기, 오류 정정 레벨, 여백 | 전체 스타일링: 색상, 모양, 로고 |
| 오프라인 지원 | 예 | 인터넷 필요 |
| 유지보수 | Maven/Gradle 의존성 업데이트 | 항상 최신 상태 |
| 출력 형식 | ImageIO를 통해 PNG, JPG, BMP | PNG, SVG |
Java QR코드 사용 사례
Java 애플리케이션에서 QR코드의 일반적인 시나리오.
엔터프라이즈 애플리케이션
Spring Boot API에서 송장, 영수증, 문서 추적을 위한 QR코드를 생성합니다.
Android 앱
Android 앱에서 ZXing을 사용하여 카메라 통합과 함께 QR코드 스캔 및 생성을 구현합니다.
배치 처리
배치 작업에서 제품 라벨, 배송, 재고 관리를 위해 수천 개의 QR코드를 생성합니다.
PDF 생성
iText 또는 Apache PDFBox를 사용하여 PDF 문서에 QR코드를 임베드하여 보고서와 티켓에 사용합니다.
자주 묻는 질문
Java로 QR코드 생성에 관한 일반적인 질문.
ZXing(Zebra Crossing)은 Java용 오픈소스 바코드 처리 라이브러리입니다. QR코드, 바코드, 기타 2D 매트릭스 코드의 읽기와 쓰기를 지원합니다.