ZPL을 TPCL로 변환: Zebra 디자인을 Toshiba TEC 프린터로 인쇄 (B-EX, B-SA, B-FV)
ZPL과 Toshiba TEC TPCL의 대응, 포맷/데이터 명령 쌍, 0.1 mm 미터법 위치 지정, 실제 예제, Toshiba를 쓰는 리테일·식품 라인에서 확인할 점.
Toshiba TEC 프린터는 유럽 리테일과 식품 가공에서 흔하며 TPCL을 사용합니다: 중괄호로 감싼 명령, 0.1밀리미터 단위 위치, 그리고 포맷 명령이 필드를 정의하고 데이터 명령이 채우는 2단계 패턴. TPCL로 번역된 ZPL 라벨은 객체당 두 줄이 되고, 모든 좌표는 도트에서 미터법으로 바뀝니다.
명령 대응표
| 작업 | ZPL (Zebra) | TPCL (Toshiba TEC) |
|---|---|---|
| 시작 / 종료 | ^XA … ^XZ | {C|}로 지우고 {XS;…|}로 라벨 발행 |
| 라벨 크기 | ^PW812 ^LL609 (도트) | {D0762,1016,0762|} 피치, 폭, 길이 (0.1 mm) |
| 텍스트 | ^FO40,30 ^A0N,36,36 ^FDHello^FS | {PC001;0050,0038,1,1,A,00,B|} + {RC001;Hello|} (포맷 다음 데이터) |
| Code 128 | ^BY2 ^BCN,90,Y,N,N ^FDdata^FS | {XB01;0050,0163,3,1,02,0,0114,+0000000000,1,0,00|} + {RB01;data|} |
| 선 / 박스 | ^GB300,2,2^FS | {LC;x1,y1,x2,y2,0,2|} |
| 매수 | ^PQ5 | {XS;I,0005,0002C3000|} |
| 단위 | 도트 | 해상도와 무관하게 0.1 mm |
실제로 바뀌는 것
- 단위: TPCL은 해상도 독립적입니다 — 0050은 어떤 프린터에서든 5.0 mm입니다. ZPL 도트는 dpi로 나누고 254를 곱해야 합니다(203 dpi에서 40도트 ≈ 50).
- 포맷/데이터 분리: 각 텍스트(PC/RC)와 바코드(XB/RB)는 짝이 되는 번호가 필요합니다. 포맷은 한 번 보내고 라벨마다 RC/RB 데이터만 반복할 수 있어 배치에 효율적입니다.
- 폰트: TPCL 폰트는 정수 배율의 문자 코드(A~Z와 아웃라인 폰트)입니다. ZPL의 ^A0 크기는 가장 가까운 조합으로 반올림됩니다.
- 바코드 타입은 XB에서 숫자입니다(대부분의 펌웨어에서 3 = Code 128, 0/1 EAN/UPC 변형, 9 = Data Matrix, 최신 모델에서 T = QR). 좁은 바와 비율은 명시적입니다.
- 발행 명령: {XS;…}는 매수, 절단 간격, 센서 종류, 인쇄 모드를 담습니다 — ZPL이 ^PQ, ^MM, ^MN에 분산시키는 세부 사항입니다.
변환 전후(단순화)
^XA ^PW812 ^LL609 ^FO40,30 ^A0N,36,36 ^FDSafety Harness^FS ^FO40,130 ^BY2 ^BCN,90,Y,N,N ^FD7501234567893^FS ^PQ1 ^XZ
{D0762,1016,0762|}
{C|}
{PC001;0050,0038,2,2,A,00,B|}
{RC001;Safety Harness|}
{XB01;0050,0163,3,1,02,0,0114,+0000000000,1,0,00|}
{RB01;7501234567893|}
{XS;I,0001,0002C3000|}
EtikStudio의 방식
디자인이 밀리미터로 저장되므로 TPCL 내보내기는 자연스럽습니다: 위치는 도트로 반올림하지 않고 0.1 mm로 나가고, 각 객체는 번호 붙은 포맷/데이터 쌍이 되며, 배치는 하나의 포맷과 라벨별 데이터로 전송됩니다. 같은 디자인의 ZPL 출력은 Zebra 장비용으로 남습니다.
명령 예시는 이해를 돕기 위해 단순화했습니다. 정확한 문법은 프린터 모델과 펌웨어에 따라 다르므로 항상 대상 프린터에서 테스트하세요.