Jeder Etikettendrucker benutzt eine für Hersteller und Drucker spezifische Sprache zum Ansteuern der Funktionen.
Hersteller unseres Produktprogramms verwenden folgende Druckersprachen:
– Zebra verwendet ZPL und teilweise noch EPL (EPL wurde ursprünglich von Eltron entwickelt, diese wurden durch Zebra übernommen)
– Datamax benutzt DPL
– TSC benutzt TSPL
– Intermec benutzt IPL oder Fingerprint.
Viele Hersteller können andere Druckersprachen emulieren, jedoch sollte man, soweit möglich, die Herstellerspezifische Sprache des Druckers verwenden um Fehler auszuschließen. Bei Ansteuerung der Etikettendrucker durch Windowsdruckertreiber übersetzen diese das zu druckende Layout in die für den Drucker verständliche Sprache. Da die meisten Programme die Daten als Grafik ausgeben (ausnahmen sind die Druckertreiberhersteller eigenen Layoutprogramme, z.B. Bartender von Seagull, hier werden die Layoutobjekte, soweit möglich, in Objekte der Druckersprache umgesetzt), ist es sinnvoll, bei Barcodes diese direkt mittels der Druckersprache zu generieren, um Pixelfehler durch Falschberechnung und/oder Rundungsfehler auszuschließen . Um die Druckfiles zu erzeugen können in vielen Programmen Skripte oder Dateien hinterlegt werden, welche die Erzeugung der Druckfiles übernehmen. Diese werden dann direkt an den Drucker gesendet.
Beispiel ZPL (Zebra Programming Language) Dokument
^XA ^SZ2^JMA ^MCY^PMN ^PW1216^MTT ^MNW ~JSN ^MD8 ^PR6,6,6 ^JZY ^LH0,0^LRN ^XZ ^XA ^FO230,227 ^BY5,2.6^B3N,N,367,N,N^FD12345678^FS ^FT486,635 ^CI0 ^A0N,42,58^FD12345678^FS ^PQ1,0,1,Y ^XZ
In diesem Printfile ist die Position, die Größe, der Barcodetyp sowie das Breitenverhältnis der Striche des Barcodes definiert, wodurch der Barcode der jeweiligen Druckerauflösung angepasst wird. Des Weiteren ist die zu übertragende Datenmenge geringer, wodurch im Allgemeinen eine geringere Verarbeitungszeit resultiert.
Erläuterung des ZPL Code anhand folgendem Beispiel-Etikett
Der Code:
^XA ^PW554 ^MD5 ^PR3,3,3 ^FO138,24 ^BY3 ^BCN,102,N,N ^FD>;12345678 ^FS ^FT168,156 ^CI0 ^A0N,34,47 ^FD12345678 ^FS ^FT66,234 ^A0N,68,83 ^FDBeispieltext ^FS ^PQ1,0,1,Y ^XZ
^XA
Start Format
Beginn des ZPL Dokumentes
^PW554
Print Width
^PWa
a = Die Druckbreite in Pixel
^MD5
Media Darkness
^MDa
Über die Drucktemperatur wird die Intensität der Druckfarbe geregelt
a = Drucktemperatur
Werte von -30 bis 30 sind möglich
Bei XiIII Druckern in 0.1 Schritten
^PR3,3,3
Print Rate
^PRp,s,b
regelt die Druckgeschwindigkeit, die Geschwindigkeit zwischen den Etiketten sowie den Etikettenrückzug
p = print speed (hier 3 = 76,2mm/sec)
s = slew speed (hier 3 = 76,2mm/sec)
b = backfeed speed (hier 3 = 76,2mm/sec)
^FO138,24
Field Origin
^FOx,y,z
Koordinaten für das zu druckende Feld (hier Barcode)
x,y in Pixel
z = Orientation (0 = left, 1 = right, 2 = auto)
^BY3
Barcode Field Default
^BYw,r,h
Default Einstellungen für Barcodes
w = Breite in Pixel
r = Verhältnis breitester Strich / schmalster Strich (2.0 bis 3.0 in 0.1 Schritten)
h = Höhe in Pixel
^BCN,102,N,N
Code 128 Bar Code
^BCo,h,f,g,e,m
o = orientation (hier N=normal)
h = Höhe in Pixel
f = Print Interpretation Line (Trennlinie unter Barcode)
g = Print Interpretation Line Above Code (Trennlinie über Barcode)
(
e = UCC check digit
m = mode
)
^FD>;12345678
Field Data
^FDa
a = Barcode Inhalt
^FS Field Separator
Ende Barcode Inhalt
^FT168,156
Field Typeset
^FTx,y,z
ähnlich FO
setzt die Koordinaten für den Text unter dem Barcode
^CI0
Change International Font
Hier können International Character Sets vorgegeben werden (hier USA1)
^A0N,34,47
Scalable/Bitmapped Font
^Afo,h,w
festlegen der Schriftart
f = font name (Schriftarten des Druckers A-Z oder 0-9)
o = field orientation (N=normal, R=rotated 90 Grad, I=inverted 180 Grad, B=bottom up 270 Grad)
h = Höhe in Pixel
w = Breite in Pixel
^FD12345678
Field Data
siehe oben
^FS
Field Separator
Ende des Feldes
^FT66,234
Field Typeset
Neues Textfeld für „Beispieltext“
^A0N,68,83
Erneute Festlegung der Schriftart
^FDBeispieltext
Field Data
Inhalt „Beispieltext“
^FS
Field Separator
Ende des Textfeldes
^PQ1,0,1,Y
Print Quantity
PQq,p,r,o
q = total quantity / Anzahl Etiketten
p = pause and cut value / Nach wie vielen Etiketten soll pausiert oder abgeschnitten werden
r = replicates of each serial number / Anzahl Wiederholungen je automatisch generierter Seriennummer
o = override pause count / Hebt die Pause nach x-Etiketten auf
^XZ
End Format
Ende des ZPL Dokumentes
Gutes Beispiel! In TSCs Druckersprache sieht das gleiche Label so aus:
SIZE 50 mm, 30 mm
SET TEAR ON
CLS
BARCODE 309,215,“128M“,102,0,180,3,6,“!10512345678″
CODEPAGE 1252
TEXT 255,105,“3″,180,1,1,“12345678″
TEXT 277,60,“0″,180,12,12,“Beispieltext“
PRINT 1,1
Viele Grüße 🙂