Java/Tip & Tech2009. 11. 13. 11:27

회사에서 Barcode에 관한 이슈가 생겼다.

필자가 작업을 하게 되지는 않을꺼 같지만 궁금증이 일어서 Java로 Barcode만드는 법을 찾아보았다.

검색을 하다보니 "역시 Java~~~" 라는 말이 절로 나왔다.

Java에서 Barcode 생성을 지원하는 Barbecue라는 오픈 API가 존재하고 있었던 것이다.

Barbecue API 사이트 바로가기 ==> http://barbecue.sourceforge.net/



1. 지원하는 Barcode Format


Code128, Code128A, Code128B, Code128C, UCC128, EAN128, EAN13, Bookland, UPC-A, Standard 2 of 5, Interleave 2 of 5, PDF417, Code 39, Codabar, PostNet



2. 지원하는 Output Format


PNG, JPEG, GIF, SVG, and EPS



3. 프린터로 바코드 출력하기 예제


import java.awt.print.PrinterJob;

import net.sourceforge.barbecue.Barcode;
import net.sourceforge.barbecue.BarcodeFactory;

public class TestPrintBarcode {
	public static void main(String[] args) {
		String str = "http://huikyun.tistory.com";
		try {
			Barcode barcode = BarcodeFactory.createCode128(str);
			PrinterJob job = PrinterJob.getPrinterJob();
			job.setPrintable(barcode);

			if (job.printDialog())
				job.print();

		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}



4. 이미지로 바코드 저장하기 예제


import java.io.File;

import net.sourceforge.barbecue.Barcode;
import net.sourceforge.barbecue.BarcodeFactory;
import net.sourceforge.barbecue.BarcodeImageHandler;

public class TestCreateBarcodeImage {
	public static void main(String[] args) {
		String str = "http://huikyun.tistory.com";
		try {
			Barcode barcode = BarcodeFactory.createCode128B(str);

			File file = new File("c:/barcode1.png");

			BarcodeImageHandler.savePNG(barcode, file);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}




1) 라벨 지정하기


barcode.setLabel("Barcode creation test...");




2) 텍스트 안보이게 하기


barcode.setDrawingText(false);




3) 높이 조절하기


barcode.setBarHeight(50);




4) 배경색 변경하기


barcode.setBackground(Color.GREEN);




5) 바코드색 변경하기


barcode.setForeground(Color.RED);




Barbecue API는 Java에서 손쉽게 Barcode를 생성할 수 있게 해주는 공개 API

다양한 바코드 포멧과 충분한 출력 포멧을 지원함을 물론이고

간단하고 짧은 코딩만으로도 사용이 가능한 매우 잘 만들어진 공개 API라는 생각이 든다.

Posted by Huikyun