일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- flutter
- 빌드 오류
- Android
- WPF
- git인증
- 안드로이드
- VisualStudio
- Kotlin
- bitbucket
- Invalid credentials
- gradle
- react
- Git
- 예제
- AWS
- 인증문제해결
- 데이터바인딩
- not working
- react-native
- 리액트
- 안됨
- aPK
- 리액트 네이티브
- 설정
- 개발환경설정
- 뒤로가기 안됨
- 디버깅
- 안드로이드 스튜디오
- sourcetree
- EC2
- Today
- Total
물에 살고싶은 개발자
[ZPL] 명령어 정리 본문
언제나 그랫듯 내가 나중에 다시 보고 쓰기 위한 Zebra 프린터를 컨트롤하기 위한 명령어들을 정리해둔 글이다.
이번엔 선요약없이 바로 정리간다.
미리 적어두자면, 여기 적어둔 명령어가 ZPL명령어의 전부는 아니다. 그저 내가 진행중인 프로젝트에서 사용된것들만 정리되어있을뿐 !
그럼 시작...하기전에 퀵 레퍼런스 깃허브 먼저 공유하고 시작 !
zpl은 일단 꺽쇠(^)로 시작한다.
1. ^XA , ^XZ : 브라켓
오프닝브라켓(Opening Bracket)으로 코틀린이나 자바에서 중괄호 한쌍({})의 역할을 한다.
중괄호처럼 XA와 XZ가 한쌍이다. 이 사이에 넣고싶은 명령어를 전부 때려넣으면 된다.
2. ^FX : 주석
^FX comment
말그대로 주석이다. 자바나 코틀린 등의 많은 프로그래밍 언어에서 // 와 같은 역할이다.
3. ^CI : 인코딩 지정
^CI charset, src1, dest1, src2, dest2, ...
한글 사용 시 묻지도 따지지도 말고 ^CI28 하자 이게 UTF-8이다. 나머지 자세한건 레퍼런스에 154,155페이지 확인해보자.
4. ^CW : 폰트 지정
^CW fontName, path
내가 진행중인 프로젝트엔 CWK로 되어있는데, 명령어 자체는 CW이다. 뒤에붙은 K는 변수명같은건데,
^CWK,font경로와폰트파일이름 이런식으로 지정해준다. 근데 기본적으로는 제브라프린터에서 한글폰트가 없기때문에 따로 넣어줘야하는데, 자세한건 이 블로그에 간단하게 써져있으니 참고하자. 해당 블로그에 나와있는대로라면
^CWK, E:KFON5.FNT 이런식으로 작성하면 된다.
5. ^A : 폰트와 사이즈 지정
^A font, height, width,orientation
4번에서 지정한 폰트명이 K 라는 전제하에, ^AKN,50,50 이런식으로 작성한다.
^A까지가 명령어고 K는 4번에서 지정한 폰트명 N은 작성방향인데, 이건 4가지로 고정되어있다.
N:회전안함
R:90도회전
I :180도회전
B:270도회전
이렇게 4가지다. 뒤에 숫자들은 width와 height다. 즉 ^AKN,50,50은 쓰여질 데이터의 폰트는 K로 지정하고 가로 50 세로 50사이즈의 노멀방향으로 진행하라 라는 얘기다. 이해가 잘 안간다면, zpl뷰어 사이트를 참고하자.
영어긴 하지만 커서가 위치한 곳의 명령어 가이드가 입력란 아래쪽에 표시된다. Redraw버튼 열심히 눌러가면서 확인하다보면 이해될거다.
6. ^FO : 필드오리진
^FO x, y, alignment
나도 이름은 뭔소린지 모르겠는데 사용법은 비교적 심플하다. 아니 익숙하다. 좌상단으로부터 좌표값 xy와 alignment다.
alignment는 0 : 왼쪽정렬 , 1 : 우측정렬 , 2 : 오토
^FO0,50,0 이라고 하면 이 명령어가 적용된건 x값0 y값50에 왼쪽정렬이다.
7. ^FB : 필드블럭
^FB maxWidth, maxLines, lineSpacing, alignment, hangingIndent
해당 라인의 블럭세팅을 한다. 목적은 해당 라인에서 출력할 데이터의 한계치와 정렬을 설정하기 위함으로 보인다.
^FB800,1,0,C 이런식으로 사용하면 된다. 즉 이 설정이 적용되면 가로길이는 길어야 800이 되고 라인 역시 1라인이 맥스치라는것이다. 다만 maxLines를 1로 잡았다고 해서 1줄 이상은 표시되지않는게 아니고 1줄에 전부 표시되므로 글자가 겹치게된다. (해당내용은 8번에서 FD 설명과 함께 스샷으로 보여주겠다.)
8. ^FD : 필드데이터
이제야 나오는 실제로 출력하고자 하는 데이터이다. 여기에 반품거래명세서 라고 적으면 해당 글자가 출력된다.
^FD반품거래명세서^FS 이런식으로 활용하며 FD 뒤에는 FS가 쌍으로 붙는다. 1번의 브라켓과 마찬가지인셈
만약 7번에서 라인을 1로 세팅하고 여기에 ^FD반품거래명세서ㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇ^FS 이런식으로 적어넣으면 결과는 아래와 이미지와 같다.
이부분 참고해서 적절하게 세팅하는것이 중요할듯 하다.
참고로 위 이미지는 zpl 뷰어 사이트에서 아래 명령어로 출력된 내용이다.
(참고로 줄바꿈은 \& 이다. string에 넣을땐 \ 하나를 더 넣어서 "반품\\&거래명세서" 이렇게 넣어야 반품 뒤에 줄바꿈하는식으로 사용하면 된다)
^XA
^CI28
^PW812
^CFJ,50
^FX 타이틀 - 상단
^AJN,50,50 ^FO0,60 ^FB812,1,0,C ^FD반품거래명세서ㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇㅇ\&^FS
^XZ
9. ^GB : 그래픽박스
^GB width, height, thickness, color, rounding
선이나 박스같은걸 그리기 위한 명령어 구분선이나 라인선을 그릴때 사용한다.
예시로는 굵은 구분선을 위해선
^GB772,8,8
얇은 구분선을 위해선
^GB772,2,2
이런식이다. 컬러는 블랙이 기본값이고 라운딩은 기본값이 라운딩없음이다
10. ^PW , ^PO : print width , print orientaion
^PW width , ^PO orientation
비슷한 속성이고 세트로 쓰이는 경우가 있는거같아 하나로 묶었다.(사실 깔끔하게 10번으로 끝났으면 했음ㅎㅎ)
일단 PW는 프린트될 용지의 가로 도트 개수를 말한다. ^PW800 으로 지정했으면 도트개수는 총 800개인셈이다.
PO는 5번의 orientation과 같다. 차이점은 5번의 경우 해당 라인에만 영향을 끼치지만 PO는 프린트될 페이지 전체에 영향을 미친다.
끗