Read Barcode In Java Using ZXing Library

In this article we will see how to read barcode in java. We are going to use ZXing (Zebra Crossing) library for this. Below is an example of Barcode. Open your mobile's camera and put that in front of this image (Barcode) and you will see URL as http://www.infybuzz.com which is basically data this barcode is containing.






You may have seen this kind of barcode on products like book.

So lets get started by adding ZXing dependencies. Add below dependencies in your pom.xml OR build.gradle file.

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

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

After this lets move to code part to read Barcode which is containing text that is http://www.infybuzz.com

import java.awt.image.BufferedImage;
import java.io.FileInputStream;

import javax.imageio.ImageIO;

import com.google.zxing.BinaryBitmap;
import com.google.zxing.MultiFormatReader;
import com.google.zxing.Result;
import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
import com.google.zxing.common.HybridBinarizer;

public class ReadBarcode {

	public static void main(String[] args) {
		
		try {
			
			String path = "D:\\Barcode\\barcode.jpg";
			
			BufferedImage bf = ImageIO.read(new FileInputStream(path));
			
			BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(
					new BufferedImageLuminanceSource(bf)));
			
			Result result = new MultiFormatReader().decode(bitmap);
			
			System.out.println(result.getText());
			
		} catch(Exception e) {
			System.out.println("Error while reading barcode " + e.getMessage());
		}
		
	}

}

0 Comments