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. 프린터로 바코드 출력하기 예제


01.import java.awt.print.PrinterJob;
02. 
03.import net.sourceforge.barbecue.Barcode;
04.import net.sourceforge.barbecue.BarcodeFactory;
05. 
06.public class TestPrintBarcode {
07.    public static void main(String[] args) {
08.        String str = "http://huikyun.tistory.com";
09.        try {
10.            Barcode barcode = BarcodeFactory.createCode128(str);
11.            PrinterJob job = PrinterJob.getPrinterJob();
12.            job.setPrintable(barcode);
13. 
14.            if (job.printDialog())
15.                job.print();
16. 
17.        } catch (Exception e) {
18.            e.printStackTrace();
19.        }
20.    }
21.}



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


01.import java.io.File;
02. 
03.import net.sourceforge.barbecue.Barcode;
04.import net.sourceforge.barbecue.BarcodeFactory;
05.import net.sourceforge.barbecue.BarcodeImageHandler;
06. 
07.public class TestCreateBarcodeImage {
08.    public static void main(String[] args) {
09.        String str = "http://huikyun.tistory.com";
10.        try {
11.            Barcode barcode = BarcodeFactory.createCode128B(str);
12. 
13.            File file = new File("c:/barcode1.png");
14. 
15.            BarcodeImageHandler.savePNG(barcode, file);
16.        } catch (Exception e) {
17.            e.printStackTrace();
18.        }
19.    }
20.}




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