Zebra (ZPL) etiketten ontwerpen¶
Zebra-etiketprinters begrijpen geen normale documenten. In plaats daarvan lezen ze een kleine set tekstcommando’s genaamd ZPL (Zebra Programming Language). Een ZPL-ontwerp is gewoon een blok tekst dat de printer vertelt wat er op het etiket moet komen en waar: een regel tekst hier, een prijs daar, een QR-code in de hoek.
Deze pagina legt ZPL vanaf het begin uit, zodat u uw eigen productetiketten kunt lezen, bewerken en bouwen zonder hulp. U ontwerpt uw etiket onder , in het veld Aangepast Zebra-productetiketontwerp (zie Printerconfiguratie).
Tip
U begint zelden vanaf een lege pagina. Gem Logic geeft elk etiket een werkend standaardontwerp. De snelste manier om te leren is om die standaard te openen, één ding te veranderen, op te slaan en naar de voorbeeldafbeelding te kijken. Herhaal dit totdat het er goed uitziet.
Snel aan de slag¶
Ga naar en zoek het veld Aangepast Zebra-productetiketontwerp.
Breng een kleine wijziging aan (bijvoorbeeld verplaats een regel of maak de prijs groter).
Klik op Opslaan. Gem Logic genereert automatisch een voorbeeldafbeelding van het etiket.
Bekijk het voorbeeld. Als het niet klopt, pas het aan en sla opnieuw op.
Er wordt niets naar een echte printer gestuurd terwijl u experimenteert — het voorbeeld wordt gegenereerd vanuit uw ontwerp, zodat u veilig kunt itereren voordat u ook maar één etiket print.
Hoe een ZPL-etiket is opgebouwd¶
Elk etiket begint met ^XA en eindigt met ^XZ. Alles ertussenin beschrijft het etiket. Een commando begint altijd met een dakje ^ (of soms een tilde ~).
^XA (start of the label)
... commands that build the label ...
^XZ (end of the label)
Daarbinnen is het meest voorkomende patroon “ga naar een positie, en print daar iets”:
^FO50,30^FDHello^FS
Die enkele regel betekent: ga naar positie 50,30 en druk de tekst “Hello” af. Opgesplitst:
^FO50,30— Field Origin: verplaats naar x=50, y=30 (de linkerbovenhoek van wat hierna komt).^FDHello— Field Data: de daadwerkelijke inhoud die afgedrukt wordt.^FS— Field Separator: markeert het einde van dit onderdeel. Sluit een veld altijd af met^FS.
Dat is 90% van labelontwerp: een reeks van “positie + inhoud” regels onder elkaar.
Labelgrootte, dots en millimeters¶
Zebra-printers meten alles in dots, niet in millimeters. De meeste labelprinters drukken af op 203 DPI, wat betekent:
1 mm ≈ 8 dots
1 inch = 203 dots
Dus een label dat 56 mm breed en 13 mm hoog is, is ongeveer 448 dots breed en 104 dots hoog.
Twee commando’s stellen het afdrukbare gebied in:
^PW— Print Width, in dots.^LL— Label Length (hoogte), in dots.
^PW448 (label is 448 dots wide ≈ 56 mm)
^LL104 (label is 104 dots tall ≈ 13 mm)
Belangrijk
De fysieke labelgrootte wordt ook bepaald door de velden Productlabelbreedte en Productlabellengte naast het ontwerp. Houd deze gesynchroniseerd met uw werkelijke labelvoorraad. De variabele {label_length} wordt automatisch ingevuld vanuit het lengteveld, daarom gebruikt het standaardontwerp ^LL{label_length}.
Positionering: het coördinatenraster¶
Beschouw het label als een raster. Het punt 0,0 is de linkerbovenhoek. Het eerste getal is x (hoever naar rechts) en het tweede is y (hoever naar beneden), beide in dots.
^FO0,0 top-left corner
^FO200,0 200 dots to the right, same height
^FO0,40 left edge, 40 dots down
Om een element te verplaatsen, wijzigt u de ^FO getallen. Groter x = verder naar rechts; groter y = verder naar beneden. Zo plaatst u de SKU op één regel en het metaal op de volgende: geef ze dezelfde x maar een grotere y op de tweede regel.
Tekst toevoegen en formaat instellen¶
Voordat u tekst afdrukt kiest u meestal een lettergrootte. De eenvoudigste manier is ^CF0,h (Change default Font), waarbij h de tekenhoogte in dots is:
^CF0,28 use ~28-dot-tall text from here on
^FO50,30^FDPrice^FS print "Price" at 50,30 in that size
Elke ^FD ... ^FS na een ^CF gebruikt die grootte totdat u een andere instelt. Om dus verschillende groottes op één label te mengen, stel ^CF0,28 in vóór de grote tekst en ^CF0,14 vóór de kleine tekst.
Tip
Om een nieuwe regel tekst toe te voegen drukt u niet op Enter — u voegt een ander gepositioneerd veld lager toe. Kopieer een bestaande regel, geef het een grotere y waarde, en wijzig de inhoud.
Productgegevens invoegen¶
Een labelontwerp wordt hergebruikt voor elk product, dus u typt de SKU of prijs niet met de hand. In plaats daarvan voegt u variabelen in tussen accolades, en Gem Logic vervangt deze met de werkelijke gegevens van elk product wanneer het label wordt afgedrukt.
^FO1,8^FD{item_sku}^FS prints this product's SKU
^FO180,50^FD{currency}{price}^FS prints e.g. €129
Dezelfde variabelen worden als klikbare badges direct onder het ontwerpveld in de app getoond, zodat u kunt zien welke beschikbaar zijn terwijl u bewerkt.
Beschikbare variabelen¶
Product
{brand}: merknaam{product_title}: producttitel{item_sku}: product-SKU{ean_code}: EAN-barcode (gebruikt voor de QR-code){price}en{currency}: prijs en valutasymbool{serial_number}: serienummer{year_of_manufacture}: bouwjaar{supplier_product_reference}: productreferentie van leverancier{supplier_reference}: leveranciersreferentie
Materialen en edelstenen
{material_1}tot{material_5}: volledige materiaalbeschrijving (gewicht, naam en details van edelsteen){material_only_1}tot{material_only_5}: alleen materiaal- ofedelsteennaam
Attributen
{attribute_1}tot{attribute_5}: attribuut alsnaam: waarde{attribute_name_1}tot{attribute_name_5}: alleen attribuutnaam{attribute_value_1}tot{attribute_value_5}: alleen attribuutwaarde
Afmetingen
{weight},{length},{width},{height},{diameter},{size},{thickness},{quality}
Collecties
{collections}: de collecties waar het product toe behoort
Categorieën
{categories}: de categorieën waartoe het product behoort, gescheiden door komma’s
Land van herkomst
{country_of_origin}: het land waar het product vandaan komt
Zuiverheid
{clarity}: de zuiverheid van de edelsteen van het product
Kostencode
{encoded_cost}: de aankoopkost omgezet in uw privé kostencode (de letters worden ingesteld onder ), zodat de werkelijke kost niet leesbaar is op het label.
RFID (alleen nodig voor labels met RFID-tags)
{item_sku_epc_hex}: de SKU gecodeerd als een EPC-waarde voor de RFID-chip{item_sku_epc_word_count}: de EPC-lengte, gebruikt door het ZPL RFID-commando
Opmaak
{label_length}: automatisch ingevuld op basis van de etiketlengte-instelling
QR-codes en barcodes¶
Een QR-code wordt toegevoegd met ^BQN gevolgd door een dataveld dat begint met QA,:
^FO0,30^BQN,2,2^FDQA,{ean_code}^FS
^FO0,30— waar de QR-code komt.^BQN,2,2— een QR-code. Het laatste getal is de grootte (vergroting). Verhoog het (3, 4, 5…) voor een grotere, gemakkelijker te scannen code; verlaag het om ruimte te besparen.^FDQA,{ean_code}^FS— de data in de code. Hier codeert het de EAN van het product.
Voor een klassieke 1D-barcode gebruikt u in plaats daarvan ^BCN (Code 128):
^FO20,20^BCN,60,Y,N,N^FD{ean_code}^FS
De 60 is de barcode-hoogte in dots, en Y drukt het leesbare nummer eronder af.
Het standaard ontwerp, uitgelegd¶
Dit is het startontwerp dat Gem Logic u geeft, regel voor regel toegelicht. Het lezen hiervan is de snelste manier om te begrijpen hoe de stukken in elkaar passen.
^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
Regel voor regel:
^XA— start van het etiket.^MD20— afdrukdonkerheid. Verhoog het als etiketten flauw lijken, verlaag het als de tekst uitgeveegd is.^CI28— karaktercodering, zodat€en accenten correct worden afgedrukt.^LL{label_length}— etikethoogte, automatisch ingevuld vanuit de lengte-instelling.^LH0,0— thuispositie: de oorsprong is de linkerbovenhoek.^CF0,18— tekstgrootte ~18 dots voor de regels die volgen.^FO180,8^FD{brand}^FS— het merk, bovenaan.^CF0,14— kleinere tekst vanaf hier.^FO50,45^FD{material_2}^FS,^FO50,60^FD{material_3}^FS,^FO180,27^FD{material_1}^FS— de drie materialen.^CF0,28— grotere tekst voor de prijs.^FO180,50^FD{currency}{price}^FS— de prijs, bijv. €129.^CF0,16— middelgrote tekst.^FO1,8^FD{item_sku}^FS— de SKU, linksboven.^FO1,23^FD{supplier_product_reference}^FS— productverwijzing van de leverancier.^FO50,60^FD{supplier_reference}^FS— leveranciersverwijzing.^FO0,30^BQN,2,2dan^FDQA,{ean_code}^FS— de QR-code (linksonder) en de data ervan (de EAN).^XZ— einde van het etiket.
Waarschuwing
ZPL heeft geen regelcommentaar — gebruik geen puntkomma ; om notities toe te voegen. ZPL begrijpt alleen commando’s die beginnen met ^ (of ~), dus alles na een ; wordt gelezen als onderdeel van de waarde van het commando (of als losse etiketdata). Dat veroorzaakt fouten zoals “Value ‘20;’ is not a valid number” of “Ignored unrecognized content”, en een losse ; kan uw layout stilletjes verschuiven of breken.
Om een notitie achter te laten, gebruikt u het ^FX commentaarcommando, afgesloten met ^FS. De printer negeert alles wat erin staat:
^FX brand, near the top ^FS
^FO180,8^FD{brand}^FS
De enige regel: een ^FX commentaar mag geen ^ of ~ bevatten — deze tekens beëindigen het commentaar en starten het volgende commando.
Veelvoorkomende aanpassingen¶
- Maak de prijs groter
Zoek de
^CF0,28vóór de{price}regel en verhoog het getal, bijv.^CF0,40.- Verplaats iets
Wijzig de
^FOgetallen. Om het merk naar beneden te verschuiven, verhoogt u het tweede getal in^FO180,8(de8).- Voeg een nieuwe tekstregel toe
Kopieer een
^FO…^FD…^FSregel, geef deze een grotereywaarde zodat deze lager zit, en wijzig de inhoud of variabele.- Maak de QR-code groter
Verhoog het laatste getal in
^BQN,2,2(probeer^BQN,3,3). Als deze wordt afgesneden, geef deze meer ruimte of verplaats deze naar links/boven met de^FO.- Voeg een scheidingslijn toe
Gebruik een grafisch vak.
^FO0,40^GB540,2,2^FStekent een dunne horizontale lijn van 540 dots breed.
Voorbeeld bekijken en testen voor het printen¶
U heeft twee eenvoudige manieren om een ontwerp te controleren voordat u echte etiketten gebruikt:
In Gem Logic: elke keer dat u opslaat, verschijnt een voorbeeldafbeelding van het etiket onder het ontwerpveld. Gebruik dit als uw voornaamste feedbackloop.
Online: plak uw ZPL in de gratis Labelary viewer om een directe weergave te zien bij verschillende etiketformaten. (Vervang eerst de
{variables}door voorbeeldtekst, aangezien Labelary uw productdata niet kent.)
Als een echt etiket er verkeerd uitziet — afgesneden tekst, een QR die niet scant, verkeerde grootte — zie dan de etiketsectie van Probleemoplossing.
Snelle commandoreferentie¶
Commando |
Wat het doet |
|---|---|
|
Start / einde van het etiket. Alles staat ertussenin. |
|
Printbreedte in dots. |
|
Etiketlengte (hoogte) in dots. |
|
Label home — het oorsprongspunt (meestal |
|
Field origin — positioneer het volgende element op x,y. |
|
Stel de standaard lettertypehoogte in ( |
|
Field data — de inhoud die wordt afgedrukt — afgesloten door een veldscheidingsteken. |
|
Commentaar — genegeerd door de printer. Mag geen |
|
Media darkness (afdrukdonkerheid). Hoger is donkerder. |
|
QR-code; het laatste getal is de grootte. Data begint met |
|
Code 128 barcode; |
|
Teken een kader of lijn (breedte, hoogte, dikte in dots). |
|
Tekencodering, zodat symbolen zoals |
Voor de volledige taal publiceert Zebra een complete ZPL-opdrachtengids, maar de bovenstaande opdrachten dekken bijna elk productetiket.