Projektowanie etykiet Zebra (ZPL)¶
Drukarki etykiet Zebra nie rozumieją zwykłych dokumentów. Zamiast tego odczytują niewielki zestaw poleceń tekstowych zwanych ZPL (Zebra Programming Language). Projekt ZPL to po prostu blok tekstu, który informuje drukarkę, co umieścić na etykiecie i w jakim miejscu: linię tekstu tutaj, cenę tam, kod QR w rogu.
Niniejsza strona wyjaśnia język ZPL od podstaw, dzięki czemu będzie Pan/Pani w stanie czytać, edytować i tworzyć własne etykiety produktów bez pomocy z zewnątrz. Projekt etykiety tworzy się w , w polu Niestandardowy projekt etykiety produktu Zebra (patrz Konfiguracja drukarek).
Wskazówka
Rzadko zaczyna się od czystej kartki. Gem Logic nadaje każdej etykiecie działający domyślny projekt. Najszybszym sposobem nauki jest otwarcie tego domyślnego projektu, zmiana jednego elementu, zapisanie i spojrzenie na obraz podglądu. Powtarzaj, aż wygląd będzie odpowiedni.
Szybki start¶
Przejdź do i znajdź pole Niestandardowy projekt etykiety produktu Zebra.
Wprowadź niewielką zmianę (na przykład przesuń linię lub powiększ cenę).
Kliknij Zapisz. Gem Logic automatycznie wygeneruje obraz podglądu etykiety.
Sprawdź podgląd. Jeśli jest nieprawidłowy, dostosuj i zapisz ponownie.
Podczas eksperymentowania nic nie jest wysyłane do rzeczywistej drukarki — podgląd jest generowany na podstawie Pana/Pani projektu, więc może Pan/Pani bezpiecznie iterować przed wydrukowaniem pojedynczej etykiety.
Jak zbudowana jest etykieta ZPL¶
Każda etykieta zaczyna się od ^XA i kończy ^XZ. Wszystko pomiędzy opisuje etykietę. Polecenie zawsze zaczyna się od znaku daszka ^ (lub czasami tyldy ~).
^XA (start of the label)
... commands that build the label ...
^XZ (end of the label)
Wewnątrz najczęstszym wzorcem jest „przejdź do pozycji, następnie wydrukuj tam coś”:
^FO50,30^FDHello^FS
Ta pojedyncza linia oznacza: przejdź do pozycji 50,30 i wydrukuj tekst „Hello”. W rozbiciu:
^FO50,30— Field Origin: przesuń do x=50, y=30 (lewy górny róg tego, co następuje).^FDHello— Field Data: właściwa treść do wydrukowania.^FS— Field Separator: oznacza koniec tego elementu. Zawsze zamykaj pole za pomocą^FS.
To stanowi 90% projektowania etykiet: seria linii „pozycja + treść” ułożonych jedna po drugiej.
Rozmiar etykiety, punkty i milimetry¶
Drukarki Zebra mierzą wszystko w punktach, a nie w milimetrach. Większość drukarek etykiet drukuje w rozdzielczości 203 DPI, co oznacza:
1 mm ≈ 8 punktów
1 cal = 203 punkty
Zatem etykieta o szerokości 56 mm i wysokości 13 mm ma około 448 punktów szerokości i 104 punkty wysokości.
Dwa polecenia określają obszar do druku:
^PW— Print Width, szerokość druku, w punktach.^LL— Label Length, długość etykiety (wysokość), w punktach.
^PW448 (label is 448 dots wide ≈ 56 mm)
^LL104 (label is 104 dots tall ≈ 13 mm)
Ważne
Fizyczny rozmiar etykiety pochodzi również z pól Szerokość etykiety produktu i Długość etykiety produktu obok projektu. Należy synchronizować je z rzeczywistym zapasem etykiet. Zmienna {label_length} jest wypełniana automatycznie z pola długości, dlatego domyślny projekt używa ^LL{label_length}.
Pozycjonowanie: siatka współrzędnych¶
Wyobraź Pan/Pani sobie etykietę jako siatkę. Punkt 0,0 to lewy górny róg. Pierwsza liczba to x (jak daleko w prawo), a druga to y (jak daleko w dół), obie w punktach.
^FO0,0 top-left corner
^FO200,0 200 dots to the right, same height
^FO0,40 left edge, 40 dots down
Aby przesunąć element, zmień jego liczby ^FO. Większe x = bardziej w prawo; większe y = bardziej w dół. W ten sposób umieszcza się SKU w jednej linii, a metal w następnej: nadaje się im to samo x, ale większe y w drugiej linii.
Dodawanie i skalowanie tekstu¶
Przed drukowaniem tekstu zazwyczaj wybiera się rozmiar czcionki. Najprostszym sposobem jest ^CF0,h (Change default Font, zmiana domyślnej czcionki), gdzie h to wysokość znaku w punktach:
^CF0,28 use ~28-dot-tall text from here on
^FO50,30^FDPrice^FS print "Price" at 50,30 in that size
Każde ^FD ... ^FS po ^CF używa tego rozmiaru, dopóki nie ustawi się innego. Aby więc mieszać rozmiary na jednej etykiecie, należy ustawić ^CF0,28 przed dużym tekstem i ^CF0,14 przed małym tekstem.
Wskazówka
Aby dodać nową linię tekstu, nie naciska się Enter — dodaje się kolejne pozycjonowane pole niżej. Należy skopiować istniejącą linię, nadać jej większą wartość y i zmienić jej zawartość.
Wstawianie danych produktu¶
Projekt etykiety jest wykorzystywany ponownie dla każdego produktu, więc nie wpisuje się ręcznie SKU ani ceny. Zamiast tego wstawia się zmienne w nawiasach klamrowych, a Gem Logic zastępuje je rzeczywistymi danymi każdego produktu podczas drukowania etykiety.
^FO1,8^FD{item_sku}^FS prints this product's SKU
^FO180,50^FD{currency}{price}^FS prints e.g. €129
Te same zmienne są wyświetlane jako klikalne odznaki bezpośrednio pod polem projektu w aplikacji, dzięki czemu można zobaczyć, które są dostępne podczas edycji.
Dostępne zmienne¶
Produkt
{brand}: nazwa marki{product_title}: tytuł produktu{item_sku}: SKU produktu{ean_code}: kod kreskowy EAN (używany do kodu QR){price}i{currency}: cena i symbol waluty{serial_number}: numer seryjny{year_of_manufacture}: rok produkcji{supplier_product_reference}: referencja produktu dostawcy{supplier_reference}: referencja dostawcy
Materiały i kamienie szlachetne
{material_1}do{material_5}: pełny opis materiału (waga, nazwa i szczegóły kamienia szlachetnego){material_only_1}do{material_only_5}: wyłącznie nazwa materiału lub kamienia szlachetnego
Atrybuty
{attribute_1}do{attribute_5}: atrybut w formacienazwa: wartość{attribute_name_1}do{attribute_name_5}: wyłącznie nazwa atrybutu{attribute_value_1}do{attribute_value_5}: wyłącznie wartość atrybutu
Wymiary
{weight},{length},{width},{height},{diameter},{size},{thickness},{quality}
Kolekcje
{collections}: kolekcje, do których należy produkt
Kategorie
{categories}: kategorie, do których należy produkt, oddzielone przecinkami
Kraj pochodzenia
{country_of_origin}: kraj, z którego pochodzi produkt
Czystość
{clarity}: czystość kamienia szlachetnego produktu
Kod kosztów
{encoded_cost}: koszt zakupu przekonwertowany na Państwa prywatny kod kosztów (litery są ustawiane w ), dzięki czemu rzeczywisty koszt nie jest czytelny na etykiecie.
RFID (wymagane tylko dla etykiet z tagami RFID)
{item_sku_epc_hex}: SKU zakodowane jako wartość EPC dla chipa RFID{item_sku_epc_word_count}: długość EPC, używana przez polecenie RFID ZPL
Układ
{label_length}: wypełniane automatycznie na podstawie ustawienia długości etykiety
Kody QR i kody kreskowe¶
Kod QR dodawany jest za pomocą ^BQN po którym następuje pole danych rozpoczynające się od QA,:
^FO0,30^BQN,2,2^FDQA,{ean_code}^FS
^FO0,30— położenie kodu QR.^BQN,2,2— kod QR. Ostatnia liczba to rozmiar (powiększenie). Zwiększcie ją (3, 4, 5…), aby uzyskać większy, łatwiejszy do zeskanowania kod; zmniejszcie ją, aby zaoszczędzić miejsce.^FDQA,{ean_code}^FS— dane wewnątrz kodu. Tutaj koduje numer EAN produktu.
Dla klasycznego kodu kreskowego 1D należy użyć ^BCN (Code 128):
^FO20,20^BCN,60,Y,N,N^FD{ean_code}^FS
60 to wysokość kodu kreskowego w punktach, a Y drukuje czytelny dla człowieka numer poniżej.
Domyślny projekt, objaśnienie¶
Oto początkowy projekt, który udostępnia Gem Logic, z objaśnieniami linia po linii. Przeczytanie go to najszybszy sposób, aby zrozumieć, jak elementy łączą się ze sobą.
^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
Linia po linii:
^XA— początek etykiety.^MD20— ciemność druku. Zwiększ, jeśli etykiety wyglądają na blade, zmniejsz, jeśli tekst jest rozmazany.^CI28— kodowanie znaków, dzięki czemu€i znaki diakrytyczne drukują się poprawnie.^LL{label_length}— wysokość etykiety, wypełniana automatycznie z ustawienia długości.^LH0,0— pozycja początkowa: początek to lewy górny róg.^CF0,18— rozmiar tekstu ~18 punktów dla linii, które następują.^FO180,8^FD{brand}^FS— marka, blisko góry.^CF0,14— mniejszy tekst od tego miejsca.^FO50,45^FD{material_2}^FS,^FO50,60^FD{material_3}^FS,^FO180,27^FD{material_1}^FS— trzy materiały.^CF0,28— większy tekst na cenę.^FO180,50^FD{currency}{price}^FS— cena, np. €129.^CF0,16— tekst średni.^FO1,8^FD{item_sku}^FS— SKU, lewy górny róg.^FO1,23^FD{supplier_product_reference}^FS— odniesienie produktu dostawcy.^FO50,60^FD{supplier_reference}^FS— odniesienie dostawcy.^FO0,30^BQN,2,2następnie^FDQA,{ean_code}^FS— kod QR (lewy dolny róg) i jego dane (EAN).^XZ— koniec etykiety.
Ostrzeżenie
ZPL nie obsługuje komentarzy liniowych — nie używaj średnika ; do dodawania notatek. ZPL rozumie jedynie polecenia zaczynające się od ^ (lub ~), więc wszystko po ; jest odczytywane jako część wartości polecenia (lub jako przypadkowe dane etykiety). To właśnie powoduje błędy takie jak „Value «20;» is not a valid number” lub „Ignored unrecognized content”, a przypadkowy ; może po cichu przesunąć lub zepsuć Państwa układ.
Aby zostawić notatkę, użyj polecenia komentarza ^FX, zamkniętego za pomocą ^FS. Drukarka ignoruje wszystko, co się w nim znajduje:
^FX brand, near the top ^FS
^FO180,8^FD{brand}^FS
Jedna zasada: komentarz ^FX nie może zawierać ^ ani ~ — te znaki kończą komentarz i rozpoczynają następne polecenie.
Typowe zmiany¶
- Powiększ cenę
Znajdź
^CF0,28przed linią{price}i zwiększ liczbę, np.^CF0,40.- Przesuń coś
Zmień liczby w
^FO. Aby przesunąć markę w dół, zwiększ drugą liczbę w^FO180,8(czyli8).- Dodaj nową linię tekstu
Skopiuj linię
^FO…^FD…^FS, nadaj jej większą wartośćy, aby umieścić ją niżej, i zmień zawartość lub zmienną.- Powiększ kod QR
Zwiększ ostatnią liczbę w
^BQN,2,2(spróbuj^BQN,3,3). Jeśli zostanie obcięty, daj mu więcej miejsca lub przesuń go w lewo/do góry za pomocą^FO.- Dodaj linię rozdzielającą
Użyj pola graficznego.
^FO0,40^GB540,2,2^FSrysuje cienką linię poziomą o szerokości 540 kropek.
Podgląd i testowanie przed drukowaniem¶
Ma Pan / Pani dwa łatwe sposoby na sprawdzenie projektu przed użyciem prawdziwych etykiet:
W Gem Logic: przy każdym zapisaniu pod polem projektu pojawia się podgląd etykiety. Użyj go jako głównej pętli informacji zwrotnej.
Online: wklej swój ZPL do darmowego podglądu Labelary, aby zobaczyć natychmiastowy podgląd w różnych rozmiarach etykiet. (Najpierw zamień
{variables}na przykładowy tekst, ponieważ Labelary nie zna Twoich danych produktu.)
Jeśli prawdziwa etykieta wygląda nieprawidłowo — obcięty tekst, kod QR, który nie skanuje się, niewłaściwy rozmiar — zobacz sekcję dotyczącą etykiet w Rozwiązywanie problemów.
Szybka instrukcja poleceń¶
Polecenie |
Co robi |
|---|---|
|
Początek / koniec etykiety. Wszystko znajduje się między nimi. |
|
Szerokość druku w kropkach. |
|
Długość etykiety (wysokość) w kropkach. |
|
Punkt początkowy etykiety — punkt początkowy (zwykle |
|
Punkt początkowy pola — umieszcza następny element na x,y. |
|
Ustawia domyślną wysokość czcionki ( |
|
Dane pola — zawartość do druku — zamknięta separatorem pola. |
|
Komentarz — ignorowany przez drukarkę. Nie może zawierać |
|
Ciemność podłoża (ciemność druku). Wyższa wartość oznacza ciemniejszy wydruk. |
|
Kod QR; ostatnia liczba to rozmiar. Dane rozpoczynają się od |
|
Kod kreskowy Code 128; |
|
Rysuje ramkę lub linię (szerokość, wysokość, grubość w kropkach). |
|
Kodowanie znaków, aby symbole takie jak |
Pełny przewodnik poleceń ZPL publikuje firma Zebra, ale powyższe polecenia obejmują niemal każdą etykietę produktu.