IPL을 ZPL로 변환: Intermec 라벨 포맷을 Zebra 프린터로 마이그레이션
Intermec IPL의 포맷/데이터 모델이 ZPL과 어떻게 다른지, 저장된 포맷과 필드 데이터가 하나의 ZPL 작업이 되는 방법, 실제 예제, PM4i·PX4i·3400 퇴역 체크리스트.
Intermec 프린터(PM4i, PX4i/PX6i, 3400/4400 시리즈)는 수년간 제조와 유통의 주력이었고, IPL은 다른 어떤 것과도 다릅니다: 라벨 레이아웃은 한 번 정의한 저장 포맷이고, 각 인쇄 작업은 필드 데이터만 보냅니다. 이 프린터들을 Zebra로 교체할 때는 두 절반 — 프린터 안의 포맷과 ERP의 데이터 스트림 — 을 자체 완결적인 ZPL 작업으로 결합해야 합니다.
두 모델의 차이
| 개념 | IPL (Intermec) | ZPL (Zebra) |
|---|---|---|
| 레이아웃 | 저장 포맷: <STX><ESC>P;E1;F1;… 필드 …;R;<ETX> | 각 작업의 ^XA와 ^XZ 사이에 인라인(또는 ^DF로 저장 / ^XF로 호출) |
| 텍스트 필드 | H0;o100,100;f0;c20;h2;w2;d0,30 (필드, 원점, 폰트, 높이/폭, 데이터 길이) | ^FO100,100 ^A0N,36,36 ^FN1 ^FS |
| 바코드 필드 | B1;o100,300;c6;h60;w2;d0,20 (c6 = Code 128) | ^FO100,300 ^BY2 ^BCN,60,Y,N,N ^FN2 ^FS |
| 데이터와 함께 인쇄 | <STX><ESC>E1<ETX> <STX><CAN><ETX> <STX>data1<CR>data2<CR><ETX> <STX><ETB><ETX> | ^XA ^XFFORMAT ^FN1^FDdata1^FS ^FN2^FDdata2^FS ^XZ |
| 단위 | 도트(일부 모델 1/100 in) | 도트 |
실제로 바뀌는 것
- 두 산출물이 모두 필요합니다: 포맷 정의(수년 전 프린터에 업로드된 뒤 다른 곳에 저장되지 않은 경우가 많음)와 샘플 데이터 스트림. 폐기 전에 업로드 명령으로 프린터에서 포맷을 읽어 두세요.
- 필드 순서는 위치 기반입니다: 데이터 줄은 순서대로 필드에 매칭되므로 ZPL 작업은 ERP가 값을 보내는 순서와 같게 ^FN 번호를 할당해야 합니다.
- 폰트: IPL 폰트 코드(f0~f7 비트맵, f20 이상 아웃라인)는 측정 크기로 ^A0에 대응시킵니다. IPL 높이/폭 배율은 정수입니다.
- 바코드 코드: c0 Code 39, c1 Code 93, c2 Interleaved 2 of 5, c5 UPC/EAN, c6 Code 128, c8 PDF417(모델별 상이) → 해당 ^B 명령.
- 제어 문자: IPL 작업은 STX/ETX로 감싸이고 필드 사이에 CR을 씁니다. 번역이 아니라 제거해야 합니다.
변환 전후(단순화)
<STX><ESC>P;E1;F1;<ETX> <STX>H0;o40,30;f0;c20;h3;w3;d0,30;<ETX> <STX>B1;o40,130;c6;h90;w2;d0,20;<ETX> <STX>R;<ETX> <STX><ESC>E1<ETX><STX><CAN><ETX> <STX>Safety Harness<CR>7501234567893<CR><ETX> <STX><ETB><ETX>
^XA ^PW812 ^LL609 ^FO40,30 ^A0N,36,36 ^FDSafety Harness^FS ^FO40,130 ^BY2 ^BCN,90,Y,N,N ^FD7501234567893^FS ^PQ1 ^XZ
마이그레이션 체크리스트
- 전원을 끄기 전에 모든 Intermec 프린터에서 모든 저장 포맷을 내보낸다. 유일한 사본인 경우가 많다.
- 각 포맷을 캡처한 데이터 스트림과 짝지어 어떤 필드가 가변이고 어떤 순서인지 파악한다.
- ERP 연동이 거의 바뀌지 않도록 ZPL에서도 포맷/데이터 분리(^DF/^XF와 ^FN)를 유지할지, 완전한 인라인 작업으로 갈지 결정한다.
- Zebra에서 바코드를 검증한다. Intermec 헤드와 Zebra 헤드는 도트 게인이 다르다.
EtikStudio의 방식
IPL 포맷과 샘플 데이터 스트림을 함께 가져오면 인터프리터가 이를 하나의 시각 디자인으로 병합하고 데이터 필드를 ERP 순서대로 변수로 표시합니다. 거기서 인라인 작업으로, 또는 ^FN 필드를 가진 저장 ^DF 포맷으로 ZPL을 내보낼 수 있습니다 — 연동을 더 단순하게 유지하는 쪽으로.
명령 예시는 이해를 돕기 위해 단순화했습니다. 정확한 문법은 프린터 모델과 펌웨어에 따라 다르므로 항상 대상 프린터에서 테스트하세요.