Zebra(ZPL) 라벨 디자인하기¶
Zebra 라벨 프린터는 일반 문서를 인식하지 못합니다. 대신 **ZPL**(Zebra Programming Language)이라는 텍스트 명령 집합을 사용합니다. ZPL 디자인은 프린터에 라벨에 무엇을 어디에 배치할지 알려주는 텍스트 블록입니다. 여기에 텍스트 한 줄, 저기에 가격 하나, 모서리에 QR 코드 하나 같은 방식입니다.
이 페이지는 ZPL을 처음부터 설명하므로 도움 없이도 제품 라벨을 읽고, 편집하고, 직접 제작하실 수 있습니다. 아래 맞춤형 Zebra 제품 라벨 디자인 필드에서 라벨을 디자인하십시오(프린터 구성 참조).
팁
빈 페이지에서 시작하는 경우는 드뭅니다. Gem Logic은 모든 라벨에 작동하는 기본 디자인을 제공합니다. 가장 빠른 학습 방법은 해당 기본값을 열고, 한 가지만 변경하고, 저장한 다음 미리보기 이미지를 확인하는 것입니다. 올바르게 보일 때까지 반복하십시오.
빠른 시작¶
필드를 찾으십시오.
작은 변경(예: 선 이동 또는 가격 확대)을 수행하십시오.
:guilabel:`저장`을 클릭하십시오. Gem Logic이 자동으로 라벨의 **미리보기 이미지**를 생성합니다.
미리보기를 확인하십시오. 잘못된 경우 조정하고 다시 저장하십시오.
실험하는 동안 실제 프린터로 아무것도 전송되지 않습니다. 미리보기는 디자인에서 생성되므로 라벨 한 장을 인쇄하기 전에 안전하게 반복 작업을 수행하실 수 있습니다.
ZPL 라벨 구조¶
모든 라벨은 ^XA``로 시작하고 ``^XZ``로 끝납니다. 그 사이의 모든 것이 라벨을 설명합니다. 명령은 항상 캐럿 ``^``(또는 때로는 틸드 ``~)으로 시작됩니다.
^XA (start of the label)
... commands that build the label ...
^XZ (end of the label)
내부적으로 가장 일반적인 패턴은 **”위치로 이동한 다음 그곳에 무언가 인쇄”**입니다:
^FO50,30^FDHello^FS
이 한 줄은 *위치 50,30으로 이동하여 “Hello” 텍스트를 인쇄*한다는 의미입니다. 분해하면:
^FO50,30— **F**ield **O**rigin: x=50, y=30으로 이동(다음에 올 내용의 왼쪽 상단 모서리).^FS— **F**ield **S**eparator: 이 부분의 끝을 표시. 항상 ``^FS``로 필드를 닫으십시오.
이것이 라벨 디자인의 90%입니다. “위치 + 내용” 라인을 연속으로 쌓는 방식입니다.
라벨 크기, 도트 및 밀리미터¶
Zebra 프린터는 모든 것을 밀리미터가 아닌 **도트**로 측정합니다. 대부분의 라벨 프린터는 **203 DPI**로 인쇄하며, 이는 다음을 의미합니다:
1 mm ≈ 8 도트
1 인치 = 203 도트
따라서 너비 56 mm, 높이 13 mm인 라벨은 약 448 도트 너비, 104 도트 높이입니다.
인쇄 가능 영역을 설정하는 두 가지 명령어:
^PW— Print Width, 인쇄 너비(도트 단위).^LL— Label Length, 라벨 길이(높이, 도트 단위).
^PW448 (label is 448 dots wide ≈ 56 mm)
^LL104 (label is 104 dots tall ≈ 13 mm)
중요
실제 라벨 크기는 디자인 옆에 있는 제품 라벨 너비 및 제품 라벨 길이 필드에서도 가져옵니다. 실제 라벨 재고와 동기화하여 유지하십시오. {label_length} 변수는 길이 필드에서 자동으로 채워지므로 기본 디자인에서 ``^LL{label_length}``를 사용합니다.
위치 지정: 좌표 그리드¶
라벨을 그리드로 생각하십시오. 0,0 지점은 **좌측 상단 모서리**입니다. 첫 번째 숫자는 **x**(오른쪽으로의 거리)이고 두 번째는 **y**(아래로의 거리)이며, 둘 다 도트 단위입니다.
^FO0,0 top-left corner
^FO200,0 200 dots to the right, same height
^FO0,40 left edge, 40 dots down
요소를 이동하려면 ^FO 숫자를 변경하십시오. x가 클수록 더 오른쪽, y가 클수록 더 아래입니다. 이렇게 하면 SKU를 한 줄에, 금속을 다음 줄에 배치할 수 있습니다. 같은 x 값을 주되 두 번째 줄에는 더 큰 y 값을 주면 됩니다.
텍스트 추가 및 크기 조정¶
텍스트를 인쇄하기 전에 일반적으로 글꼴 크기**를 선택합니다. 가장 간단한 방법은 ``^CF0,h``(기본 **Font 변경)이며, 여기서 ``h``는 도트 단위의 문자 높이입니다:
^CF0,28 use ~28-dot-tall text from here on
^FO50,30^FDPrice^FS print "Price" at 50,30 in that size
^CF 이후의 모든 ``^FD … ^FS``는 다른 크기를 설정할 때까지 해당 크기를 사용합니다. 따라서 한 라벨에 여러 크기를 혼합하려면 큰 텍스트 앞에 ``^CF0,28``을, 작은 텍스트 앞에 ``^CF0,14``를 설정하십시오.
팁
**새 텍스트 줄**을 추가하려면 Enter를 누르지 않고, 아래쪽에 위치한 다른 필드를 추가합니다. 기존 줄을 복사하여 더 큰 y 값을 부여하고 내용을 변경하십시오.
제품 데이터 삽입¶
라벨 디자인은 모든 제품에 재사용되므로 SKU나 가격을 직접 입력하지 않습니다. 대신 중괄호 안에 **변수**를 삽입하면 Gem Logic이 라벨을 인쇄할 때 각 제품의 실제 데이터로 대체합니다.
^FO1,8^FD{item_sku}^FS prints this product's SKU
^FO180,50^FD{currency}{price}^FS prints e.g. €129
동일한 변수가 앱의 디자인 필드 바로 아래에 클릭 가능한 배지로 표시되므로 편집하는 동안 사용 가능한 변수를 확인할 수 있습니다.
사용 가능한 변수¶
제품
{brand}: 브랜드명{product_title}: 제품명{item_sku}: 제품 SKU{ean_code}: EAN 바코드(QR 코드에 사용){price}및{currency}: 가격 및 통화 기호{serial_number}: 일련번호{year_of_manufacture}: 제조 연도{supplier_product_reference}: 공급업체 제품 참조번호{supplier_reference}: 공급업체 참조번호
소재 및 보석
``{material_1}``부터 ``{material_5}``까지: 전체 소재 설명(중량, 이름 및 보석 상세 정보)
``{material_only_1}``부터 ``{material_only_5}``까지: 소재 또는 보석 이름만
속성
{attribute_1}``부터 ``{attribute_5}``까지: ``이름: 값형식의 속성
치수
{weight},{length},{width},{height},{diameter},{size},{thickness},{quality}
컬렉션
{collections}: 제품이 속한 컬렉션
카테고리
{categories}: 제품이 속한 카테고리(쉼표로 구분)
원산지
{country_of_origin}: 제품의 원산지 국가
투명도
{clarity}: 제품 보석의 투명도
원가 코드
{encoded_cost}: 매입 원가를 귀하의 비공개 원가 코드로 변환한 값(문자는 :menuselection:`구성 –> 일반 설정`에서 설정됩니다). 이를 통해 실제 원가가 라벨에서 읽히지 않습니다.
**RFID**(RFID 태그가 있는 라벨에만 필요)
{item_sku_epc_hex}: RFID 칩용 EPC 값으로 인코딩된 SKU{item_sku_epc_word_count}: ZPL RFID 명령에서 사용되는 EPC 길이
레이아웃
{label_length}: 라벨 길이 설정에서 자동으로 채워집니다
QR 코드 및 바코드¶
QR 코드는 ``^BQN``과 ``QA,``로 시작하는 데이터 필드를 함께 사용하여 추가됩니다:
^FO0,30^BQN,2,2^FDQA,{ean_code}^FS
^FO0,30— QR 코드 위치입니다.^BQN,2,2— QR 코드입니다. **마지막 숫자는 크기**(배율)입니다. 더 크고 스캔하기 쉬운 코드를 원하시면 이 값을 높이고(3, 4, 5…), 공간을 절약하려면 낮추십시오.^FDQA,{ean_code}^FS— 코드 안의 데이터입니다. 여기서는 제품의 EAN을 인코딩합니다.
기존 1D 바코드를 사용하려면 ``^BCN``(Code 128)을 사용하십시오:
^FO20,20^BCN,60,Y,N,N^FD{ean_code}^FS
``60``은 바코드 높이(도트 단위)이며, ``Y``는 그 아래에 사람이 읽을 수 있는 숫자를 인쇄합니다.
기본 디자인 설명¶
다음은 Gem Logic이 제공하는 기본 디자인을 줄 단위로 설명한 것입니다. 이를 읽으면 각 요소가 어떻게 구성되는지 가장 빠르게 이해할 수 있습니다.
^XA
^MD20
^CI28
^LL{label_length}
^LH0,0
^CF0,18
^FO180,8^FD{brand}^FS
^CF0,14
^FO50,45^FD{material_2}^FS
^FO50,60^FD{material_3}^FS
^FO180,27^FD{material_1}^FS
^CF0,28
^FO180,50^FD{currency}{price}^FS
^CF0,16
^FO1,8^FD{item_sku}^FS
^FO1,23^FD{supplier_product_reference}^FS
^FO50,60^FD{supplier_reference}^FS
^FO0,30^BQN,2,2
^FDQA,{ean_code}^FS
^XZ
줄 단위 설명:
^XA— 라벨의 시작.^MD20— 인쇄 농도. 라벨이 흐릿하면 높이고, 텍스트가 번지면 낮추십시오.^CI28— 문자 인코딩,€및 악센트 기호가 올바르게 인쇄되도록 합니다.^LL{label_length}— 라벨 높이, 길이 설정에서 자동으로 채워집니다.^LH0,0— 홈 위치: 원점은 왼쪽 상단 모서리입니다.^CF0,18— 다음 줄의 텍스트 크기 약 18도트.^FO180,8^FD{brand}^FS— 브랜드, 상단 근처.^CF0,14— 여기서부터 더 작은 텍스트.^FO50,45^FD{material_2}^FS,^FO50,60^FD{material_3}^FS,^FO180,27^FD{material_1}^FS— 세 가지 소재.^CF0,28— 가격을 위한 더 큰 텍스트.^FO180,50^FD{currency}{price}^FS— 가격, 예: €129.^CF0,16— 중간 크기 텍스트.^FO1,8^FD{item_sku}^FS— SKU, 왼쪽 상단.^FO1,23^FD{supplier_product_reference}^FS— 공급업체 제품 참조.^FO50,60^FD{supplier_reference}^FS— 공급업체 참조.^FO0,30^BQN,2,2다음^FDQA,{ean_code}^FS— QR 코드(왼쪽 하단) 및 해당 데이터(EAN).^XZ— 라벨의 끝.
경고
ZPL에는 줄 주석이 없습니다 — 세미콜론 ;``**을 사용하여 메모를 추가하지 마십시오.** ZPL은 ``^``(또는 ``~)로 시작하는 명령만 이해하므로, ; 뒤의 모든 내용은 명령의 값(또는 불필요한 라벨 데이터)의 일부로 읽힙니다. 이것이 “Value ‘20;’ is not a valid number” 또는 *”Ignored unrecognized content”*와 같은 오류를 발생시키며, 불필요한 ``;``는 레이아웃을 조용히 이동시키거나 손상시킬 수 있습니다.
메모를 남기려면 ^FS``로 닫는 ``^FX 주석 명령을 사용하십시오. 프린터는 그 안의 모든 내용을 무시합니다:
^FX brand, near the top ^FS
^FO180,8^FD{brand}^FS
한 가지 규칙: ^FX 주석에는 ^ 또는 ``~``를 포함할 수 없습니다 — 이러한 문자는 주석을 종료하고 다음 명령을 시작합니다.
일반적인 수정 사항¶
- 가격을 더 크게 만들기
{price}줄 앞의^CF0,28``을 찾아 숫자를 늘리십시오, 예: ``^CF0,40.- 요소 이동하기
^FO숫자를 변경하십시오. 브랜드를 아래로 이동하려면^FO180,8``의 두 번째 숫자(``8)를 늘리십시오.- 새 텍스트 줄 추가하기
^FO…^FD…^FS줄을 복사하고,y값을 더 크게 지정하여 아래쪽에 배치하고, 내용이나 변수를 변경하십시오.- QR 코드 크기 키우기
``^BQN,2,2``의 마지막 숫자를 늘리십시오(``^BQN,3,3``을 시도해 보십시오). 잘리는 경우 공간을 더 확보하거나 ``^FO``로 위치를 왼쪽/위로 이동하십시오.
- 구분선 추가하기
그래픽 박스를 사용하십시오. ``^FO0,40^GB540,2,2^FS``는 540도트 너비의 얇은 수평선을 그립니다.
인쇄 전 미리보기 및 테스트¶
실제 라벨을 사용하기 전에 디자인을 확인할 수 있는 두 가지 간편한 방법이 있습니다:
Gem Logic에서: 저장할 때마다 디자인 필드 아래에 라벨의 미리보기 이미지가 나타납니다. 주요 피드백 도구로 활용하십시오.
온라인: ZPL을 무료 `Labelary viewer <https://labelary.com/viewer.html>`_에 붙여넣어 다양한 라벨 크기의 즉시 렌더링을 확인하십시오. (Labelary는 귀하의 제품 데이터를 알지 못하므로 먼저 ``{variables}``를 샘플 텍스트로 교체하십시오.)
실제 라벨이 잘못 보이는 경우 — 잘린 텍스트, 스캔되지 않는 QR, 잘못된 크기 — :doc:`troubleshooting`의 라벨 섹션을 참조하십시오.
명령어 빠른 참조¶
명령어 |
기능 |
|---|---|
|
라벨의 시작 / 끝. 모든 내용이 이 사이에 위치합니다. |
|
인쇄 너비(도트 단위). |
|
라벨 길이(높이, 도트 단위). |
|
Label home — 원점(일반적으로 |
|
Field origin — 다음 요소를 x,y에 배치합니다. |
|
다음 텍스트의 기본 글꼴 높이( |
|
Field data — 인쇄할 내용 — 필드 구분자로 닫힙니다. |
|
주석 — 프린터에서 무시됩니다. |
|
Media darkness(인쇄 농도). 숫자가 클수록 더 진합니다. |
|
QR 코드; 마지막 숫자는 크기입니다. 데이터는 ``QA,``로 시작합니다. |
|
Code 128 바코드; ``h``는 도트 단위의 높이입니다. |
|
상자 또는 선 그리기(도트 단위의 너비, 높이, 두께). |
|
문자 인코딩으로, ``€``와 같은 기호가 올바르게 출력됩니다. |
전체 언어에 대해 Zebra는 완전한 ZPL 명령 가이드를 제공하지만, 위의 명령만으로도 거의 모든 제품 라벨을 다룰 수 있습니다.