Zebra Programming Language
Die Zebra Programming Language (ZPL; deutsch Zebra-Programmiersprache) ist eine Drucker-Beschreibungssprache der Firma Zebra Technologies. Sie findet insbesondere für Etikettendrucker Anwendung. Die ursprüngliche ZPL wurden zu ZPL II weiterentwickelt, wobei keine hundertprozentige Kompatibilität besteht. ZPL II wird inzwischen von vielen Etikettendruckern verschiedener Hersteller emuliert. Zu nennen wäre hier zum Beispiel der Monarch Language Interpreter (MLI) von Avery Dennison oder der Interpreter in den Druckern der cab Produkttechnik GmbH[2].
Zebra | |
---|---|
Erscheinungsjahr: | 1989[1] |
Entwickler: | Zebra Technologies |
Beeinflusst von: | ANSI BASIC |
Betriebssystem: | Unabhängig |
Später wurde der Zebra Basic Interpreter (ZBI) in die Drucker integriert, welcher laut Hersteller Zebra Technologies als Erweiterung zu ZPL II zu sehen ist. Es handelt sich dabei um einen sich an ANSI-Basic orientierenden Interpreter, der primär dafür gedacht ist, bei einem Druckertausch die Umprogrammierung von Software zu vermeiden, die vorher mit einem Etikettendrucker eines Mitbewerbers von Zebra betrieben wurde. Mit ZBI soll es möglich sein, dass der Zebra-Drucker die Druckdaten in einem „fremden“ Datenformat erhält und dieser die Daten dann nach ZPL II konvertiert.
Vorläufer von ZPL ist EPL (Eltron Programming Language), die Druckerbeschreibungssprache der Firma Eltron International welche mit Zebra Technologies fusionierte.[3]
Befehle
Die Befehle der Sprache fangen immer mit einem Zirkumflex an ('^
'). Derzeit versteht ZPL II über 170 Befehle. Jede Formatierung muss mit dem Befehl ^XA
beginnen und mit ^XZ
enden.[4] Z.B. wird die Schriftartgröße dem Drucker mit ^ADN,x,x
bekanntgegeben, wobei x
eine Ganzzahl ist; ^ADN,18,10
ist die kleinste Größe und ^ADN,180,100
die größte erlaubte.
Da ZPL die Sprache zur Steuerung von Etikettendruckern ist, gibt es Befehle für den Drucker und Befehle für das aktuelle Etikett (Label). Befehle für den Drucker, sogenannte control commands, beginnen mit dem Präfix ~. Die Etikett-Formatbefehle beginnen mit dem o. g. Präfix ^. Jedoch sind diese Präfixe auch konfigurierbar mithilfe der Befehle ~CT (für Druckerbefehle) und ^CC für Formatbefehle.
Ein Befehl hat folgenden Aufbau: Präfix Befehlscode [Parameter,…]
Das Präfix ist eben ^ oder ~, der Befehlscode besteht aus ein oder zwei Buchstaben A–Z, und die Parameter (falls nötig) folgen direkt und komma-getrennt. Anhand des ^A Befehls wird das deutlich (siehe nächster Abschnitt). Ein Parameter ist typischerweise entweder ein Zeichen oder eine Ganzzahl. Für Ja/Nein-Optionen wird i. d. R. Y für Ja bzw. aktivieren genutzt und N für Nein bzw. deaktivieren. Optionale Parameter werden einfach ausgelassen, jedoch müssen die Kommata angegeben werden!
Kommentare, welche vom Drucker (bzw. ZPL-Prozessor) ignoriert werden, beginnen mit ^FX
und enden vor dem nächsten Befehlspräfix.
Schriftbild
Um eine Schriftart auszuwählen, gibt es mehrere Befehle. Der einfachste ist ^A
:
^Afo,h,w
wählt die Schriftart f mit der Orientierung o und Zeichenabmaßen w breit mal h hoch. Die Parameter o, h und w sind optional. Die Schriftart wird über einen Buchstaben oder Ziffer angegeben, wobei die verfügbaren Schriften vom Druckermodell abhängen. Typische Schriften sind: A (winzig), D (klein), E (OCR-B), H (OCR-A) sowie P bis V (von winzig bis riesig). Außerdem gibt es die Schrift 0 (null), welche frei skalierbar ist. Die Orientierung hat vier mögliche Werte: N = normal (ungedreht), R = um 90° im Uhrzeigersinn gedreht, I = um 180° gedreht, B = um 270° im Uhrzeigersinn gedreht. Standard ist natürlich N.
Der Befehl ^CFf,h,w
wählt ähnlich ^AfN,h,w die Schrift f mit den Zeichenabmaßen aus, allerdings wird diese Schrift als zukünftige Standardschrift gewählt.
ZPL-fähige Drucker unterstützten i. d. R. mehrere Zeichensätze. Um die aktuelle Zeichenkodierung festzulegen, gibt es den Befehl ^CIx
. Der Parameter x gibt einen Zahlencode an, der die Kodierung festlegt, z. B. 0 bis 12 sind Einbyte-Kodierungen für verschiedene Staaten, 13 ist Codepage 850, 27 ist Codepage 1252, 15 ist Shift-JIS, 28 ist Unicode UTF-8 usw. (Eventuell hängt die Unterstützung von der Firmware-Version und den Kodierungstabellen/-dateien ab.)
Einzelnachweise
- www.tracerplus.com. (PDF)
- cab Drucksysteme unterstützen die Verarbeitung von ZPL II-Druckdaten. Abgerufen am 4. Dezember 2020.
- Zebra merger: Zebra Technologies Corp.'s shareholders... Abgerufen am 29. November 2012 (englisch).
- Programming Guide for ZPL II, ZBI 2, Set-Get-Do, Mirror, WML. (PDF; 6,59 MB) (Nicht mehr online verfügbar.) Zebra Technologies Corporation, 1. September 2013, S. 375, archiviert vom Original am 16. April 2014; abgerufen am 16. April 2014 (englisch). Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.
Weblinks
- EPL Programming Guide. (PDF; 24,8 MB) Abgerufen am 3. Juni 2014 (englisch).
- ZPL II®, Programming Guide, Volume One. (PDF; 4,9 MB) Abgerufen am 29. November 2012 (englisch).
- ZPL II®, Programming Guide, Volume Two. (PDF; 754 kB) Abgerufen am 29. November 2012 (englisch).
- ZBITM, Extending Zebra® Printer Capabilities with ZBI 2.0™ Programming. Abgerufen am 29. November 2012 (englisch).
- ZPL Viewer. Abgerufen am 10. Dezember 2012 (englisch).