Design af Zebra (ZPL) etiketter¶
Zebra-etiketprintere forstår ikke normale dokumenter. I stedet læser de et lille sæt tekstkommandoer kaldet ZPL (Zebra Programming Language). Et ZPL-design er blot en tekstblok, der fortæller printeren, hvad der skal placeres på etiketten og hvor: en tekstlinje her, en pris der, en QR-kode i hjørnet.
Denne side forklarer ZPL fra bunden, så De kan læse, redigere og opbygge Deres egne produktetiketter uden hjælp. De designer Deres etiket under , i feltet Brugerdefineret Zebra-produktetiketdesign (se Printerkonfiguration).
Tip
De starter sjældent fra en blank side. Gem Logic giver hver etiket et fungerende standarddesign. Den hurtigste måde at lære på er at åbne den standard, ændre én ting, gemme og se på forhåndsvisningsbilledet. Gentag, indtil det ser rigtigt ud.
Hurtig start¶
Gå til og find feltet Brugerdefineret Zebra-produktetiketdesign.
Foretag en lille ændring (f.eks. flyt en linje eller gør prisen større).
Klik på Gem. Gem Logic genererer automatisk et forhåndsvisningsbillede af etiketten.
Se på forhåndsvisningen. Hvis den er forkert, juster og gem igen.
Intet sendes til en rigtig printer, mens De eksperimenterer — forhåndsvisningen genereres fra Deres design, så De kan iterere sikkert, før De udskriver en eneste etiket.
Sådan opbygges en ZPL-etiket¶
Hver etiket starter med ^XA og slutter med ^XZ. Alt derimellem beskriver etiketten. En kommando begynder altid med et cirkumfleks ^ (eller undertiden en tilde ~).
^XA (start of the label)
... commands that build the label ...
^XZ (end of the label)
Indeni er det mest almindelige mønster »gå til en position, og udskriv derefter noget der«:
^FO50,30^FDHello^FS
Den enkelte linje betyder: gå til position 50,30 og udskriv teksten »Hello«. Opdelt:
^FO50,30— Field Origin: flyt til x=50, y=30 (øverste venstre hjørne af det, der kommer derefter).^FDHello— Field Data: det faktiske indhold, der skal udskrives.^FS— Field Separator: markerer slutningen af denne del. Luk altid et felt med^FS.
Det udgør 90% af etiketdesign: en række af »position + indhold«-linjer stablet sammen.
Etiketstørrelse, dots og millimeter¶
Zebra-printere måler alt i dots, ikke millimeter. De fleste etiketprintere udskriver ved 203 DPI, hvilket betyder:
1 mm ≈ 8 dots
1 tomme = 203 dots
Så en etiket, der er 56 mm bred og 13 mm høj, er cirka 448 dots bred og 104 dots høj.
To kommandoer indstiller det printerbare område:
^PW— Print Width, udskriftsbredde, i dots.^LL— Label Length, etiketlængde (højde), i dots.
^PW448 (label is 448 dots wide ≈ 56 mm)
^LL104 (label is 104 dots tall ≈ 13 mm)
Vigtigt
Den fysiske etiketstørrelse kommer også fra felterne Produktetiketbredde og Produktetiketlængde ved siden af designet. Hold disse synkroniserede med Deres faktiske etiketlager. Variablen {label_length} udfyldes automatisk fra længdefeltet, derfor bruger standarddesignet ^LL{label_length}.
Positionering: koordinatgitteret¶
Tænk på etiketten som et gitter. Punktet 0,0 er det øverste venstre hjørne. Det første tal er x (hvor langt til højre), og det andet er y (hvor langt ned), begge i dots.
^FO0,0 top-left corner
^FO200,0 200 dots to the right, same height
^FO0,40 left edge, 40 dots down
For at flytte et element skal De ændre dets ^FO-tal. Større x = længere til højre; større y = længere ned. Det er sådan, De placerer SKU på én linje og metallet på den næste: giv dem samme x, men en større y på anden linje.
Tilføjelse og størrelse af tekst¶
Før De udskriver tekst, vælger De normalt en skriftstørrelse. Den enkleste måde er ^CF0,h (Change default Font, ændr standardskrifttype), hvor h er tegnhøjden i dots:
^CF0,28 use ~28-dot-tall text from here on
^FO50,30^FDPrice^FS print "Price" at 50,30 in that size
Hver ^FD ... ^FS efter en ^CF bruger den størrelse, indtil De indstiller en anden. Så for at blande størrelser på én etiket skal De indstille ^CF0,28 før den store tekst og ^CF0,14 før den lille tekst.
Tip
For at tilføje en ny tekstlinje trykker De ikke på Enter — De tilføjer et andet positioneret felt længere nede. Kopiér en eksisterende linje, giv den en større y-værdi, og ændr dens indhold.
Indsættelse af produktdata¶
Et etiketdesign genbruges til hvert produkt, så De indtaster ikke SKU eller prisen manuelt. I stedet indsætter De variabler i krøllede parenteser, og Gem Logic erstatter dem med hvert produkts faktiske data, når etiketten udskrives.
^FO1,8^FD{item_sku}^FS prints this product's SKU
^FO180,50^FD{currency}{price}^FS prints e.g. €129
De samme variabler vises som klikbare badges direkte under designfeltet i appen, så De kan se, hvilke der er tilgængelige, mens De redigerer.
Tilgængelige variabler¶
Produkt
{brand}: mærkenavn{product_title}: produkttitel{item_sku}: produkt-SKU{ean_code}: EAN-stregkode (bruges til QR-koden){price}og{currency}: pris og valutasymbol{serial_number}: serienummer{year_of_manufacture}: fremstillingsår{supplier_product_reference}: leverandørens produktreference{supplier_reference}: leverandørreference
Materialer og ædelstene
{material_1}til{material_5}: fuldstændig materialebeskrivelse (vægt, navn og ædelstensdetaljer){material_only_1}til{material_only_5}: kun materiale- eller ædelstensnavn
Attributter
{attribute_1}til{attribute_5}: attribut somnavn: værdi{attribute_name_1}til{attribute_name_5}: kun attributnavn{attribute_value_1}til{attribute_value_5}: kun attributværdi
Dimensioner
{weight},{length},{width},{height},{diameter},{size},{thickness},{quality}
Kollektioner
{collections}: de kollektioner produktet tilhører
Kategorier
{categories}: de kategorier produktet tilhører, adskilt med kommaer
Oprindelsesland
{country_of_origin}: det land produktet stammer fra
Renhed
{clarity}: produktets ædelstensrenhed
Omkostningskode
{encoded_cost}: købsprisen omregnet til Deres private omkostningskode (bogstaverne indstilles under ), så den egentlige omkostning ikke kan aflæses på etiketten.
RFID (kun nødvendigt for etiketter med RFID-tags)
{item_sku_epc_hex}: SKU’en kodet som en EPC-værdi til RFID-chippen{item_sku_epc_word_count}: EPC-længden, anvendt af ZPL RFID-kommandoen
Layout
{label_length}: udfyldes automatisk ud fra etiketlængde-indstillingen
QR-koder og stregkoder¶
En QR-kode tilføjes med ^BQN efterfulgt af et datafelt, der starter med QA,:
^FO0,30^BQN,2,2^FDQA,{ean_code}^FS
^FO0,30— hvor QR-koden placeres.^BQN,2,2— en QR-kode. Det sidste tal er størrelsen (forstørrelse). Forøg det (3, 4, 5…) for en større, lettere at scanne kode; sænk det for at spare plads.^FDQA,{ean_code}^FS— dataene inde i koden. Her kodes produktets EAN.
For en klassisk 1D-stregkode bruges i stedet ^BCN (Code 128):
^FO20,20^BCN,60,Y,N,N^FD{ean_code}^FS
60 er stregkodehøjden i punkter, og Y udskriver det læsbare nummer nedenunder.
Standarddesignet, forklaret¶
Dette er det startdesign, Gem Logic giver dig, forklaret linje for linje. At læse det er den hurtigste måde at forstå, hvordan delene passer sammen.
^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
Linje for linje:
^XA— start på etiketten.^MD20— udskriftsmørke. Hæv det, hvis etiketter ser blege ud, sænk det, hvis teksten er sløret.^CI28— tegnkodning, så€og accenter udskrives korrekt.^LL{label_length}— etikethøjde, udfyldes automatisk fra længdeindstillingen.^LH0,0— hjemmeposition: udgangspunktet er øverste venstre hjørne.^CF0,18— tekststørrelse ~18 punkter for de efterfølgende linjer.^FO180,8^FD{brand}^FS— mærket, nær toppen.^CF0,14— mindre tekst herfra.^FO50,45^FD{material_2}^FS,^FO50,60^FD{material_3}^FS,^FO180,27^FD{material_1}^FS— de tre materialer.^CF0,28— større tekst til prisen.^FO180,50^FD{currency}{price}^FS— prisen, f.eks. €129.^CF0,16— mellemstor tekst.^FO1,8^FD{item_sku}^FS— SKU, øverst til venstre.^FO1,23^FD{supplier_product_reference}^FS— leverandørens produktreference.^FO50,60^FD{supplier_reference}^FS— leverandørreference.^FO0,30^BQN,2,2derefter^FDQA,{ean_code}^FS— QR-koden (nederst til venstre) og dens data (EAN).^XZ— slut på etiketten.
Advarsel
ZPL har ingen linjekommentarer — brug ikke semikolon ; til at tilføje noter. ZPL forstår kun kommandoer, der starter med ^ (eller ~), så alt efter et ; læses som en del af kommandoens værdi (eller som tilfældige etiketdata). Det er det, der forårsager fejl som »Value ›20;‹ is not a valid number« eller »Ignored unrecognized content«, og et tilfældigt ; kan stille flytte eller ødelægge Deres layout.
For at efterlade en note skal De bruge kommentarkommandoen ^FX, afsluttet med ^FS. Printeren ignorerer alt indeni:
^FX brand, near the top ^FS
^FO180,8^FD{brand}^FS
Den ene regel: en ^FX kommentar kan ikke indeholde et ^ eller ~ — disse tegn afslutter kommentaren og starter den næste kommando.
Almindelige ændringer¶
- Gør prisen større
Find
^CF0,28før{price}linjen og forøg tallet, f.eks.^CF0,40.- Flyt noget
Ret dets
^FOtal. For at flytte mærket ned skal De forøge det andet tal i^FO180,8(8’et).- Tilføj en ny tekstlinje
Kopiér en
^FO…^FD…^FSlinje, giv den en størreyværdi, så den sidder lavere, og ret indholdet eller variablen.- Gør QR-koden større
Øg det sidste tal i
^BQN,2,2(prøv^BQN,3,3). Hvis den bliver afskåret, giv den mere plads eller flyt den til venstre/op med dens^FO.- Tilføj en skillelinje
Brug en grafisk boks.
^FO0,40^GB540,2,2^FStegner en tynd vandret linje på 540 dots bred.
Forhåndsvisning og test før udskrivning¶
De har to enkle måder at kontrollere et design på, før De bruger rigtige etiketter:
I Gem Logic: hver gang De gemmer, vises et forhåndsvisningsbillede af etiketten under designfeltet. Brug det som Deres primære feedbackloop.
Online: indsæt Deres ZPL i den gratis Labelary viewer for at se en øjeblikkelig rendering ved forskellige etiketstørrelser. (Erstat først
{variables}med eksempeltekst, da Labelary ikke kender Deres produktdata.)
Hvis en rigtig etiket ser forkert ud — afskåret tekst, en QR der ikke scanner, forkert størrelse — se etiketsektionen i Fejlfinding.
Hurtig kommandoreference¶
Kommando |
Hvad den gør |
|---|---|
|
Start / slut på etiketten. Alt befinder sig mellem dem. |
|
Udskriftsbredde i dots. |
|
Etiketlængde (højde) i dots. |
|
Label home — udgangspunktet (normalt |
|
Field origin — placer det næste element ved x,y. |
|
Indstil standardskrifthøjden ( |
|
Field data — indholdet der skal udskrives — lukket af en feltseparator. |
|
Kommentar — ignoreres af printeren. Kan ikke indeholde |
|
Media darkness (udskriftsmørkhed). Højere er mørkere. |
|
QR-kode; det sidste tal er størrelsen. Data starter med |
|
Code 128-stregkode; |
|
Tegn en ramme eller linje (bredde, højde, tykkelse i punkter). |
|
Tegnkodning, så symboler som |
For det komplette sprog udgiver Zebra en fuld ZPL-kommandovejledning, men kommandoerne ovenfor dækker næsten enhver produktetiket.