산업용 라벨 프린터를 도입한 후 현장에서 가장 빈번하게 겪는 어려움 중 하나는 ‘프린터는 정상 작동하는데 원하는 대로 출력이 되지 않는 소프트웨어 및 드라이버 제어 문제’입니다. 일반 문서용 프린터와 달리 라벨 프린터는 윈도우 그래픽 데이터 그대로 출력하기보다는, 고유의 명령어 언어(Command Language)를 통해 좌표와 바코드 규격을 전송받아 인쇄하는 방식을 사용합니다.
특히 글로벌 시장에서 표준으로 자리 잡은 제브라(Zebra)사의 ZPL(Zebra Programming Language)을 비롯해, 바텐더(BarTender), 나이스라벨(NiceLabel)과 같은 전용 디자인 소프트웨어와의 연동, 그리고 윈도우 드라이버 속성 세팅에 대한 이해가 없으면 폰트 깨짐, 속도 저하, 인쇄 위치 이탈 등의 문제가 수시로 발생합니다. 본 글에서는 라벨 프린터 드라이버의 핵심 설정값과 ZPL 명령어의 구조, 그리고 라벨 발행 소프트웨어 연동 노하우를 상세히 다룹니다.
1. 윈도우 프린터 드라이버 핵심 설정 항목 및 주의사항
라벨 프린터를 PC에 연결하고 드라이버를 설치할 때, 윈도우 기본 드라이버가 아닌 제조업체 전용 드라이버(ZebraDesigner Driver, Seagull Scientific Driver 등)를 사용해야 세밀한 제어가 가능합니다. 드라이버 속성에서 반드시 점검해야 할 핵심 세팅값은 다음과 같습니다.
인쇄 방식(Print Method) 지정: 감열식(Direct Thermal)인지 열전사(Thermal Transfer)인지를 정확히 선택해야 합니다. 열전사 방식임에도 감열식으로 설정되어 있으면 리본 모터가 회전하지 않아 리본이 감기지 않고 구겨지거나 에러가 발생합니다.
라벨 크기(Media Size) 및 오프셋 설정: 출력하고자 하는 라벨의 가로 및 세로 실측 치수(mm 단위)를 정확히 입력해야 합니다. 단 1mm의 오차만 발생해도 라벨이 수십 장 출력되는 동안 인쇄 위치가 조금씩 위아래로 밀리는 현상이 일어납니다. 또한 라벨 상단 여백을 맞추기 위한 ‘Top Offset’과 좌우 여백을 조절하는 ‘Left Position’ 값을 세밀하게 조정해야 라벨 테두리를 벗어나지 않고 정중앙에 인쇄됩니다.
인쇄 속도(Speed)와 농도(Darkness): 드라이버에서 설정한 속도와 농도 값은 라벨 디자인 프로그램보다 우선 적용되는 경우가 많습니다. 폰트나 바코드가 너무 연하게 나오거나 번질 경우, 드라이버 내의 Darkness 스케일(030 단계)을 12단위씩 조정하여 최적의 농도값을 찾아야 합니다.
2. ZPL(Zebra Programming Language)의 기본 구조와 작동 원리
ZPL은 라벨 프린터 내부의 제어 칩셋으로 직접 전달되는 텍스트 기반의 하드웨어 제어 언어입니다. 윈도우 그래픽 드라이버를 거쳐 비트맵 이미지로 변환하여 전송하는 방식에 비해 전송 데이터량이 몇 KB 수준으로 극히 작기 때문에, 대용량 실시간 가변 바코드를 1초에 수십 장씩 찍어내야 하는 MES/ERP 연동 공정에서 독보적인 출력 속도를 보장합니다.
ZPL 코드의 기본 형태: ZPL 코드는 항상 라벨의 시작을 알리는 ^XA 명령어와 끝을 알리는 ^XZ 명령어 사이에 위치합니다.
^FO (Field Origin): 라벨 내에서 텍스트나 바코드가 시작될 X, Y 좌표 위치를 지정합니다. (예: ^FO50,100 은 가로 50포인트, 세로 100포인트 지점)
^A (Font): 사용할 폰트의 종류, 방향, 회전 각도, 글자 크기를 설정합니다.
^B3 또는 ^BC: Code39, Code128 등 인쇄할 바코드의 종류와 높이, 넓이 비율을 정의합니다.
^FD (Field Data): 실제 라벨에 인쇄될 문자열 데이터나 바코드 번호를 입력하는 구역입니다. (예: ^FDABC12345^FS)
원시 ZPL 통신의 장점: 개발자가 C#, Java, Python 등의 프로그램에서 TCP/IP 소켓 통신이나 RS-232 시리얼 포트를 통해 ZPL 텍스트 스트림을 프린터 9100 포트로 직접 쏘아 보내면, 윈도우 드라이버 설치조차 필요 없이 독립된 임베디드 장비나 Linux 서버 환경에서도 즉각 라벨을 출력할 수 있습니다.
3. 전문 라벨 소프트웨어(BarTender, NiceLabel) 연동 및 DB 결합
현장에서 사용자가 직접 라벨 양식을 디자인하고 데이터베이스와 연동할 때는 바텐더(BarTender)나 나이스라벨(NiceLabel) 같은 세계적인 라벨 폼 디자인 프로그램이 활용됩니다.
가변 데이터베이스(DB) 연동: 엑셀(Excel), MS-SQL, Oracle, CSV 파일 등 사내 DB와 라벨 양식을 연결합니다. 라벨 내의 바코드나 텍스트 항목을 DB의 특정 컬럼(예: 제품코드, 제조일자, 시리얼번호)과 바인딩해 두면, 사용자가 조회 후 인쇄 버튼을 누르는 것만으로 수천 가지 가변 라벨이 자동으로 변경되어 연속 출력됩니다.
트루타입 폰트(TTF) 그래픽 변환 주의점: 라벨 소프트웨어에서 굴림체, 돋움체 등 윈도우 기본 트루타입 폰트를 사용할 경우, 프린터는 이를 텍스트 데이터가 아닌 ‘이미지 비트맵’ 형태로 변환하여 전송합니다. 이로 인해 라벨 출력 속도가 현저히 느려지거나 그래픽 픽셀이 뭉개질 수 있습니다. 이를 방지하기 위해서는 프린터 내장 폰트(Device Font)를 사용하거나, 소프트웨어의 ‘프린터로 폰트 다운로드’ 기능을 통해 폰트 파일을 프린터 플래시 메모리에 미리 기주시켜 두고 호출하는 방식을 사용해야 합니다.