Zebra-Etiketten (ZPL) gestalten

Zebra-Etikettendrucker verstehen keine normalen Dokumente. Stattdessen lesen sie eine kleine Anzahl von Textbefehlen namens ZPL (Zebra Programming Language). Ein ZPL-Design ist lediglich ein Textblock, der dem Drucker mitteilt, was auf das Etikett gedruckt werden soll und wo: eine Textzeile hier, ein Preis dort, ein QR-Code in der Ecke.

Diese Seite erklärt ZPL von Grund auf, damit Sie Ihre eigenen Produktetiketten ohne Hilfe lesen, bearbeiten und erstellen können. Sie gestalten Ihr Etikett unter Konfiguration ‣ Drucker im Feld Benutzerdefiniertes Zebra-Produktetikett-Design (siehe Druckerkonfiguration).

Tipp

Sie beginnen selten mit einer leeren Seite. Gem Logic gibt jedem Etikett ein funktionierendes Standarddesign. Der schnellste Weg zu lernen besteht darin, dieses Standarddesign zu öffnen, eine Sache zu ändern, zu speichern und sich das Vorschaubild anzusehen. Wiederholen Sie den Vorgang, bis es richtig aussieht.

Schnellstart

  1. Gehen Sie zu Konfiguration ‣ Drucker und suchen Sie das Feld Benutzerdefiniertes Zebra-Produktetikett-Design.

  2. Nehmen Sie eine kleine Änderung vor (z. B. verschieben Sie eine Zeile oder vergrößern Sie den Preis).

  3. Klicken Sie auf Speichern. Gem Logic erzeugt automatisch ein Vorschaubild des Etiketts.

  4. Betrachten Sie die Vorschau. Wenn sie falsch ist, passen Sie sie an und speichern Sie erneut.

Während Sie experimentieren, wird nichts an einen echten Drucker gesendet — die Vorschau wird aus Ihrem Design generiert, sodass Sie gefahrlos iterieren können, bevor Sie ein einziges Etikett drucken.

Wie ein ZPL-Etikett aufgebaut ist

Jedes Etikett beginnt mit ^XA und endet mit ^XZ. Alles dazwischen beschreibt das Etikett. Ein Befehl beginnt immer mit einem Zirkumflex ^ (oder manchmal einer Tilde ~).

^XA            (start of the label)
... commands that build the label ...
^XZ            (end of the label)

Im Inneren ist das häufigste Muster „an eine Position gehen, dann dort etwas drucken“:

^FO50,30^FDHello^FS

Diese einzelne Zeile bedeutet: Gehe zu Position 50,30 und drucke den Text „Hello“. Im Detail:

  • ^FO50,30Field Origin: Gehe zu x=50, y=30 (die obere linke Ecke dessen, was als Nächstes kommt).

  • ^FDHelloField Data: der tatsächliche Inhalt, der gedruckt werden soll.

  • ^FSField Separator: markiert das Ende dieses Elements. Schließen Sie ein Feld immer mit ^FS.

Das sind 90 % des Etikettendesigns: eine Reihe von „Position + Inhalt“-Zeilen, die aufeinander folgen.

Etikettengröße, Punkte und Millimeter

Zebra-Drucker messen alles in Punkten, nicht in Millimetern. Die meisten Etikettendrucker drucken mit 203 DPI, was bedeutet:

  • 1 mm ≈ 8 Punkte

  • 1 Zoll = 203 Punkte

Ein Etikett, das 56 mm breit und 13 mm hoch ist, hat also etwa 448 Punkte Breite und 104 Punkte Höhe.

Zwei Befehle legen den druckbaren Bereich fest:

  • ^PWPrint Width (Druckbreite), in Punkten.

  • ^LLLabel Length (Etikettenlänge/Höhe), in Punkten.

^PW448        (label is 448 dots wide ≈ 56 mm)
^LL104        (label is 104 dots tall ≈ 13 mm)

Wichtig

Die physische Etikettengröße ergibt sich auch aus den Feldern Product label width und Product label length neben dem Design. Halten Sie diese mit Ihrem tatsächlichen Etikettenmaterial synchron. Die Variable {label_length} wird automatisch aus dem Längenfeld gefüllt, weshalb das Standarddesign ^LL{label_length} verwendet.

Positionierung: das Koordinatengitter

Betrachten Sie das Etikett als ein Gitter. Der Punkt 0,0 ist die obere linke Ecke. Die erste Zahl ist x (wie weit nach rechts) und die zweite ist y (wie weit nach unten), beide in Punkten.

^FO0,0        top-left corner
^FO200,0      200 dots to the right, same height
^FO0,40       left edge, 40 dots down

Um ein Element zu verschieben, ändern Sie seine ^FO-Zahlen. Größeres x = weiter rechts; größeres y = weiter unten. So platzieren Sie die Artikelnr. auf einer Zeile und das Metall auf der nächsten: Geben Sie ihnen dasselbe x, aber ein größeres y in der zweiten Zeile.

Text hinzufügen und skalieren

Vor dem Drucken von Text wählen Sie normalerweise eine Schriftgröße. Der einfachste Weg ist ^CF0,h (Change default Font), wobei h die Zeichenhöhe in Punkten ist:

^CF0,28               use ~28-dot-tall text from here on
^FO50,30^FDPrice^FS   print "Price" at 50,30 in that size

Jedes ^FD ... ^FS nach einem ^CF verwendet diese Größe, bis Sie eine andere festlegen. Um verschiedene Größen auf einem Etikett zu mischen, setzen Sie ^CF0,28 vor dem großen Text und ^CF0,14 vor dem kleinen Text.

Tipp

Um eine neue Textzeile hinzuzufügen, drücken Sie nicht die Eingabetaste — Sie fügen ein weiteres positioniertes Feld weiter unten hinzu. Kopieren Sie eine vorhandene Zeile, geben Sie ihr einen größeren y-Wert und ändern Sie ihren Inhalt.

Produktdaten einfügen

Ein Etikettendesign wird für jedes Produkt wiederverwendet, Sie geben also die Artikelnr. oder den Preis nicht von Hand ein. Stattdessen fügen Sie Variablen in geschweiften Klammern ein, und Gem Logic ersetzt sie beim Drucken des Etiketts durch die tatsächlichen Daten des jeweiligen Produkts.

^FO1,8^FD{item_sku}^FS          prints this product's SKU
^FO180,50^FD{currency}{price}^FS prints e.g. €129

Dieselben Variablen werden als anklickbare Abzeichen direkt unter dem Designfeld in der App angezeigt, sodass Sie während der Bearbeitung sehen können, welche verfügbar sind.

Verfügbare Variablen

Produkt

  • {brand}: Markenname

  • {product_title}: Produktbezeichnung

  • {item_sku}: Artikelnr. des Produkts

  • {ean_code}: EAN-Barcode (wird für den QR-Code verwendet)

  • {price} und {currency}: Preis und Währungssymbol

  • {serial_number}: Seriennummer

  • {year_of_manufacture}: Herstellungsjahr

  • {supplier_product_reference}: Produktreferenz des Lieferanten

  • {supplier_reference}: Lieferantenreferenz

Materialien und Edelsteine

  • {material_1} bis {material_5}: vollständige Materialbeschreibung (Gewicht, Name und Edelsteindetails)

  • {material_only_1} bis {material_only_5}: nur Material- oder Edelsteinname

Attribute

  • {attribute_1} bis {attribute_5}: Attribut in der Form Name: Wert

  • {attribute_name_1} bis {attribute_name_5}: nur Attributname

  • {attribute_value_1} bis {attribute_value_5}: nur Attributwert

Abmessungen

  • {weight}, {length}, {width}, {height}, {diameter}, {size}, {thickness}, {quality}

Collections

  • {collections}: die Collections, zu denen das Produkt gehört

Kategorien

  • {categories}: die Kategorien, zu denen das Produkt gehört, durch Komma getrennt

Herkunftsland

  • {country_of_origin}: das Land, aus dem das Produkt stammt

Reinheit

  • {clarity}: die Edelsteinreinheit des Produkts

Kostencode

  • {encoded_cost}: der Einkaufspreis umgewandelt in Ihren privaten Kostencode (die Buchstaben werden unter Configuration ‣ General settings festgelegt), sodass die tatsächlichen Kosten auf dem Etikett nicht lesbar sind.

RFID (nur für Etiketten mit RFID-Tags erforderlich)

  • {item_sku_epc_hex}: die Artikelnr. als EPC-Wert für den RFID-Chip kodiert

  • {item_sku_epc_word_count}: die EPC-Länge, verwendet vom ZPL-RFID-Befehl

Layout

  • {label_length}: wird automatisch aus der Etikettenlängeneinstellung übernommen

QR-Codes und Barcodes

Ein QR-Code wird mit ^BQN hinzugefügt, gefolgt von einem Datenfeld, das mit QA, beginnt:

^FO0,30^BQN,2,2^FDQA,{ean_code}^FS
  • ^FO0,30 — die Position des QR-Codes.

  • ^BQN,2,2 — ein QR-Code. Die letzte Zahl ist die Größe (Vergrößerung). Erhöhen Sie diese (3, 4, 5…), um einen größeren, leichter scanbaren Code zu erhalten; verringern Sie sie, um Platz zu sparen.

  • ^FDQA,{ean_code}^FS — die Daten im Code. Hier wird die EAN des Produkts kodiert.

Für einen klassischen 1D-Barcode verwenden Sie stattdessen ^BCN (Code 128):

^FO20,20^BCN,60,Y,N,N^FD{ean_code}^FS

Die 60 ist die Barcode-Höhe in Punkten, und Y druckt die für Menschen lesbare Nummer darunter.

Das Standard-Design, erklärt

Dies ist das Standard-Design, das Gem Logic Ihnen bereitstellt, Zeile für Zeile kommentiert. Das Lesen ist der schnellste Weg, um zu verstehen, wie die Elemente zusammenpassen.

^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

Zeile für Zeile:

  • ^XA — Beginn des Etiketts.

  • ^MD20 — Druckdichte. Erhöhen Sie sie, wenn Etiketten blass aussehen; verringern Sie sie, wenn der Text verschmiert ist.

  • ^CI28 — Zeichenkodierung, damit und Akzente korrekt gedruckt werden.

  • ^LL{label_length} — Etikettenhöhe, automatisch aus der Längeneinstellung ausgefüllt.

  • ^LH0,0 — Ausgangsposition: der Ursprung ist die linke obere Ecke.

  • ^CF0,18 — Textgröße ca. 18 Punkte für die folgenden Zeilen.

  • ^FO180,8^FD{brand}^FS — die Marke, oben.

  • ^CF0,14 — ab hier kleinerer Text.

  • ^FO50,45^FD{material_2}^FS, ^FO50,60^FD{material_3}^FS, ^FO180,27^FD{material_1}^FS — die drei Materialien.

  • ^CF0,28 — größerer Text für den Preis.

  • ^FO180,50^FD{currency}{price}^FS — der Preis, z. B. €129.

  • ^CF0,16 — mittlerer Text.

  • ^FO1,8^FD{item_sku}^FS — die Artikelnr., oben links.

  • ^FO1,23^FD{supplier_product_reference}^FS — Produktreferenz des Lieferanten.

  • ^FO50,60^FD{supplier_reference}^FS — Lieferantenreferenz.

  • ^FO0,30^BQN,2,2 dann ^FDQA,{ean_code}^FS — der QR-Code (unten links) und seine Daten (die EAN).

  • ^XZ — Ende des Etiketts.

Warnung

ZPL hat keine Zeilenkommentare — verwenden Sie kein Semikolon ; für Notizen. ZPL versteht nur Befehle, die mit ^ (oder ~) beginnen, daher wird alles nach einem ; als Teil des Befehlswerts gelesen (oder als verstreute Etikettendaten). Das verursacht Fehler wie „Value ‚20;‘ is not a valid number“ oder „Ignored unrecognized content“, und ein verstreutes ; kann Ihr Layout stillschweigend verschieben oder zerstören.

Um eine Notiz zu hinterlassen, verwenden Sie den Kommentarbefehl ^FX, der mit ^FS geschlossen wird. Der Drucker ignoriert alles darin:

^FX brand, near the top ^FS
^FO180,8^FD{brand}^FS

Die einzige Regel: Ein ^FX-Kommentar darf kein ^ oder ~ enthalten — diese Zeichen beenden den Kommentar und starten den nächsten Befehl.

Häufige Änderungen

Den Preis vergrößern

Finden Sie ^CF0,28 vor der {price}-Zeile und erhöhen Sie die Zahl, z. B. ^CF0,40.

Etwas verschieben

Ändern Sie seine ^FO-Zahlen. Um die Marke nach unten zu verschieben, erhöhen Sie die zweite Zahl in ^FO180,8 (die 8).

Eine neue Textzeile hinzufügen

Kopieren Sie eine ^FO…^FD…^FS-Zeile, geben Sie ihr einen größeren y-Wert, damit sie tiefer sitzt, und ändern Sie den Inhalt oder die Variable.

Den QR-Code vergrößern

Erhöhen Sie die letzte Zahl in ^BQN,2,2 (versuchen Sie ^BQN,3,3). Wenn er abgeschnitten wird, geben Sie ihm mehr Platz oder verschieben Sie ihn mit seinem ^FO nach links/oben.

Eine Trennlinie hinzufügen

Verwenden Sie ein grafisches Rechteck. ^FO0,40^GB540,2,2^FS zeichnet eine dünne horizontale Linie mit 540 Punkten Breite.

Vorschau und Test vor dem Drucken

Sie haben zwei einfache Möglichkeiten, ein Design zu überprüfen, bevor Sie echte Etiketten verwenden:

  • In Gem Logic: Jedes Mal, wenn Sie speichern, erscheint ein Vorschaubild des Etiketts unter dem Designfeld. Verwenden Sie es als Ihre Haupt-Feedback-Schleife.

  • Online: Fügen Sie Ihren ZPL-Code in den kostenlosen Labelary-Viewer ein, um eine sofortige Darstellung in verschiedenen Etikettengrößen zu sehen. (Ersetzen Sie zunächst die {variables} durch Beispieltext, da Labelary Ihre Produktdaten nicht kennt.)

Wenn ein echtes Etikett falsch aussieht — abgeschnittener Text, ein QR-Code, der nicht scannt, falsche Größe — sehen Sie sich den Etikettenbereich von Fehlerbehebung an.

Befehlsreferenz (Kurzübersicht)

Befehl

Was er tut

^XA / ^XZ

Anfang / Ende des Etiketts. Alles befindet sich dazwischen.

^PW

Druckbreite in Punkten.

^LL

Etikettenlänge (Höhe) in Punkten.

^LH

Label Home — der Ursprungspunkt (normalerweise 0,0).

^FO x,y

Field origin — positioniert das nächste Element bei x,y.

^CF0,h

Legt die Standard-Schrifthöhe (h Punkte) für folgenden Text fest.

^FD ... ^FS

Field data — der zu druckende Inhalt — geschlossen durch einen Field Separator.

^FX ... ^FS

Kommentar — wird vom Drucker ignoriert. Darf kein ^ oder ~ enthalten.

^MD

Media darkness (Druckdichte). Höher ist dunkler.

^BQN,m,m

QR-Code; die letzte Zahl ist die Größe. Daten beginnen mit QA,.

^BCN,h,...

Code-128-Barcode; h ist die Höhe in Punkten.

^GB w,h,t

Zeichnet ein Rechteck oder eine Linie (Breite, Höhe, Dicke in Punkten).

^CI28

Zeichenkodierung, damit Symbole wie korrekt gedruckt werden.

Für die vollständige Sprache veröffentlicht Zebra einen umfassenden ZPL-Befehlsleitfaden, aber die obigen Befehle decken nahezu jedes Produktetikett ab.