hanker

JAVA - 바코드 출력 (ZPL format for zebra printer) 본문

JAVA

JAVA - 바코드 출력 (ZPL format for zebra printer)

hanker 2024. 6. 1. 13:22
반응형

Zebra프린터기에서 바코드 출력을 해야할 경우 예제 코드

 

String START_CMD = "^XA";   // 시작명령어
String END_CMD = "^XZ";     // 종료명령어
String POS_CMD = "^FO";     // 텍스트 위치 지정
String FONT_CMD = "^Ax";    // 글꼴 설정
String KOR_DEF = "^SEE:UHANGUL.DAT^FS^CW1,E:KFONT3.FNT^FS^CW1,E:V53_16_6Z.ZPL^CI26^FS"; // 한글 폰트 설정
String KOR_FNT = "^A1";     // 한글 폰트 지정
String BAR_ATTR = "^BY";    // 바코드 속성 설정 (너비, 비율, 높이)
String BAR_KIND_CMD = "^BC";// 바코드 종류 설정 (Code 128)
String DATA_START = "^FD";  // 데이터 시작
String DATA_END = "^FS";    // 데이터 종료

try (Socket socket = new Socket(프린터IP, 프린터PORT); // ex) 기본포트 9100
     OutputStream out = socket.getOutputStream()) {
     
     String txBuff = START_CMD               // start cmd
            + POS_CMD + "290,400"            // position cmd
            + BAR_ATTR + "2,2,10"            // barcode attribute cmd
            + BAR_KIND_CMD + "N,80,Y,N,Y"    // barcode kind cmd
            + DATA_START + "안녕하세요" + DATA_END;  // barcode data
     byte[] txBytes = txBuff.getBytes(Charset.forName("EUC-KR"));

     out.write(txBytes, 0, txBytes.length);

     out.flush();
} catch (IOException e) {
    e.printStackTrace();
    System.err.println("Failed to send print job: " + e.getMessage());
}
반응형