TSPL을 ZPL로 변환: 명령 대응표와 마이그레이션 가이드 (TSC → Zebra)
TSPL 명령이 ZPL로 어떻게 번역되는지, 단위·폰트·바 폭의 함정, 실제 라벨의 변환 전후, TSC 라벨 라이브러리를 Zebra 프린터로 가져오는 방법.
역방향 마이그레이션은 기업이 산업 라인을 Zebra로 표준화하거나, 인수로 TSC 라벨을 물려받거나, 고객의 WMS가 ZPL을 프린터로 직접 보내기 때문에 ZPL로 납품해야 할 때 일어납니다. TSPL은 읽기 쉬운 언어이므로 ZPL로의 번역은 대부분 ZPL의 더 엄격한 구조를 지키는 일입니다: 모든 것을 ^XA…^XZ 안에, 각 필드는 ^FO로 열고 ^FS로 닫습니다.
명령 대응표
| 작업 | TSPL (TSC) | ZPL (Zebra) |
|---|---|---|
| 라벨 시작 / 종료 | CLS … PRINT 1 | ^XA … ^XZ |
| 라벨 크기 | SIZE 100 mm,75 mm GAP 3 mm,0 | ^PW800 ^LL600 (도트) |
| 필드 위치 | TEXT/BARCODE의 처음 두 매개변수 (x,y 도트) | ^FO50,40 (x,y 도트) |
| 텍스트 | TEXT 50,40,"0",0,12,12,"Hello" | ^A0N,40,40 ^FDHello^FS |
| Code 128 | BARCODE 50,150,"128",80,1,0,2,4,"12345" | ^BY2 ^BCN,80,Y,N,N ^FD12345^FS |
| QR 코드 | QRCODE 400,150,M,6,A,0,"data" | ^BQN,2,6 ^FDQA,data^FS |
| Data Matrix | DMATRIX 400,150,120,120,"data" | ^BXN,6,200 ^FDdata^FS |
| 박스 / 선 | BOX x,y,xend,yend,2 / BAR x,y,w,h | ^GB300,2,2^FS |
| 매수 | PRINT 10,1 | ^PQ10 |
| 농도 / 속도 | DENSITY 10 SPEED 4 | ^MD15 ^PR4 |
실제로 바뀌는 것
- 라벨 크기: TSPL의 밀리미터 SIZE는 도트 단위 ^PW/^LL이 됩니다 — 203 dpi에서 8, 300 dpi에서 11.8을 곱해 반올림합니다.
- 폰트: TSPL 비트맵 폰트 1~8은 ZPL 쌍둥이가 없습니다. 인쇄 크기에 맞춘 높이로 ^A0(스케일러블)에 대응시키거나, 비트맵 느낌을 원하면 ^A 폰트 A~H에 대응시키세요.
- 바코드: TSPL의 명령별 좁은/넓은 폭은 바코드 앞의 단일 ^BY가 됩니다. 라벨의 두 바코드가 다른 폭을 쓰면 ^BY 선언이 두 개 필요합니다.
- QR과 Data Matrix: TSPL은 셀 폭이나 픽셀 치수로, ZPL은 배율(^BQ)이나 모듈(^BX)로 크기를 정합니다. 숫자가 아니라 인쇄된 크기를 확인하세요.
- 회전: TSPL은 필드별로 회전(0/90/180/270)합니다. ZPL은 라벨 전체에 ^FW를 쓰거나 각 ^A/^B 명령의 방향 문자(N, R, I, B)를 씁니다.
변환 전후: 같은 라벨
SIZE 60 mm,40 mm GAP 2 mm,0 CLS TEXT 20,20,"3",0,1,1,"LOC-A01-03" BARCODE 20,60,"128",80,1,0,2,2,"LOCA0103" PRINT 1
^XA ^PW480 ^LL320 ^FO20,20 ^A0N,30,30 ^FDLOC-A01-03^FS ^FO20,60 ^BY2 ^BCN,80,Y,N,N ^FDLOCA0103^FS ^PQ1 ^XZ
마이그레이션 체크리스트
- 대상 폰트 전략(스케일러블 ^A0 vs 비트맵 ^A)을 한 번 정하고 일관성을 위해 라이브러리 전체에 적용한다.
- ^BY 모듈 폭을 Zebra 헤드 해상도에 대조한다. TSC에서 읽히던 폭이 300 dpi에서는 너무 좁을 수 있다.
- TSPL BITMAP 로고를 ^GF로, 가급적 작업을 가볍게 유지하도록 저장 그래픽(^DG)으로 교체한다.
- 라벨이 이미 ZPL을 쓰는 WMS에서 공급된다면 재매핑을 피하도록 가변 필드를 같은 순서로 유지한다.
EtikStudio의 방식
TSPL 작업을 가져오고 필요한 부분을 시각적으로 수정한 뒤 Zebra 프로필을 선택해 ZPL로 내보냅니다. 폰트는 인쇄 메트릭으로 매칭되고, ^BY는 기존 좁은 바 폭에서 도출되며, 가독 라인은 같은 데이터 필드에서 재생성되어 둘이 어긋나지 않습니다.
명령 예시는 이해를 돕기 위해 단순화했습니다. 정확한 문법은 프린터 모델과 펌웨어에 따라 다르므로 항상 대상 프린터에서 테스트하세요.