Java — Generate QR Code using zxing | Code Factory

Code Factory
1 min readJun 8, 2020

--

Donate : Link

WordPress Blog : Link

Read QR Code Article : Link

We’ll use Google’s Zxing library to generate QR codes for our application.

Zxing, pronounced as Zebra Crossing, is an open source, multi-format 1D/2D barcode image processing library implemented in java.

Add below dependencies in pom.xml.

<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>core</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>com.google.zxing</groupId>
<artifactId>javase</artifactId>
<version>3.4.0</version>
</dependency>

QRCodeGenerator.java

package com.example.java.programming;import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.nio.file.FileSystems;
import java.nio.file.Path;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
/**
* @author code.factory
*
*/
public class QRCodeGenerator {

private static final String IMAGE_PATH = "QR.png";
private static final String IMAGE_FORMAT = "PNG";

public static void main(String... args) {
try {
generateQR("Code Factory", 400, 400, IMAGE_PATH);
} catch(Exception e) {
e.printStackTrace();
}
}

private static void generateQR(String msg, int width, int height, String imagePath) throws WriterException, IOException {
QRCodeWriter writer = new QRCodeWriter();
BitMatrix matrix = writer.encode(msg, BarcodeFormat.QR_CODE, width, height);
Path path = FileSystems.getDefault().getPath(imagePath);
MatrixToImageWriter.writeToPath(matrix, IMAGE_FORMAT, path);

/*If you want to return byte array of QR code then use below code*/
/*ByteArrayOutputStream pngOutputStream = new ByteArrayOutputStream();
MatrixToImageWriter.writeToStream(matrix, IMAGE_FORMAT, pngOutputStream);
byte[] data = pngOutputStream.toByteArray();
return data;*/
}
}

--

--