Anmelden
Produkte
ZPL-ViewerBarcode-GeneratorBild → ZPLZPL-SpickzettelEtiketten-DesignerVorlagen-Galerie
Entwickler
API-SchnellstartAPI-ReferenzMCP-ServerMassenerzeugungWebhooksSDKs & BeispieleLimitsDirectPrint-Agent NeuGitHub ActionVS-Code-ErweiterungOn-Premise
Lösungen
Logistik und VersandE-CommerceERP & WMSProduktionEinzelhandelGesundheitswesen und LaborAlle Lösungen
Tools
ZPL-DiagnosezentrumZPL-DebuggerGrößen- und DPI-AnalyseDPI-KonverterBarcode-PlatzrechnerVersandetiketten-AnalyseSchriftprüfungAusrichtungs-DebuggerKalibrierungsassistentDruckerkompatibilitätsprüfungBarcode-LesbarkeitsprüfungDruckersprachen-ErkennungThermodrucker-TestpaketZPL-ToolsEPL-ToolsTSPL-ToolsCPCL-ToolsDruckersprachen-KonverterAlle WerkzeugeRatgeberPreise
Sprache
EnglishTürkçeDeutsch
Startseite›Ratgeber›ZPL vs. CPCL: Tischdrucker und mobile Geräte

ZPL vs. CPCL: Tischdrucker und mobile Geräte

Veröffentlicht: · Aktualisiert:

ZPL und CPCL stammen beide von Zebra, weshalb man sie für Dialekte einer Sprache hält. Das sind sie nicht. Sie wurden für unterschiedliche Maschinen unter unterschiedlichen Zwängen entworfen, und fast jeder Unterschied folgt daraus: ZPL für stationäre Drucker mit eingelegtem Material bekannter Größe, CPCL für akkubetriebene Geräte, die Belege und Etiketten am Gürtel drucken.

Die strukturellen Unterschiede

KonzeptZPLCPCL
Auftragsbeginn^XA ! 0 200 200 210 1 — ein Header mit Offset, Auflösung, Höhe und Kopien
ArgumenttrennerPositionsgebunden nach dem BefehlspräfixLeerzeichen (keine Kommas)
Etikettenhöhe^LL Im !-Header
Kopien^PQ Letztes Feld des !-Headers
Text^FO50,50^A0N,40,40^FDHello^FS TEXT 4 0 50 50 Hello
Gedrehter TextRichtungsbuchstabe in ^A Eigene Befehle: TEXT90, TEXT180, TEXT270
Auftragsende^XZPRINT

Der Header ist der Unterschied, über den man zuerst stolpert. In ZPL sind Etikettengröße und Kopienzahl Befehle, die überall im Format stehen können; in CPCL sind sie Felder der Eröffnungszeile. Ein Auftrag ohne korrekte !-Zeile ist also kein Auftrag mit Vorgaben — es ist einer, dessen Größe und Menge niemand genannt hat.

Warum es die Unterschiede gibt

Ein Tischdrucker weiß, welches Material eingelegt ist, hängt am Strom und druckt dieselbe Etikettenform tausendfach. Ein mobiles Gerät nicht: die Rolle ist schmal, der Akkustand ändert die Schwärzung, und die Bedienerin steht in einer Tür. CPCL packt die ganze Auftragsbeschreibung in einen kompakten Header, weil ein mobiler Auftrag oft vor Ort für einen Vorgang entsteht und nicht aus einer Vorlage gemischt wird.

Das erklärt auch die praktischen Ratschläge zu beiden. Auf Tischdruckern sind die wiederkehrenden Probleme Vorlagenprobleme: Koordinaten, Materialkonflikt, Auflösung. Auf mobilen Geräten sind sie physisch: Kontrast, Akku, Rollenbreite — deshalb kennt CPCL CONTRAST, TONE und SPEED als eigenständige Befehle.

Welche sollten Sie verwenden?

Kurze Antwort: ZPL, außer der Drucker ist ein mobiles Gerät, das nur CPCL spricht. Zebras eigene Entwicklerempfehlung sagt dasselbe: ZPL ist die Sprache, die weiter neue Funktionen bekommt, CPCL und die anderen Altsprachen nur noch Fehlerkorrekturen; ZPL hat die breiteste Schrift- und Lokalisierungsunterstützung; und es läuft auf fast jedem Zebra-Modell, sodass ein Format ohne Neuschreiben von Drucker zu Drucker wandert. CPCL gewinnt nur dort, wofür es gebaut wurde — Belegdruck aus einem Gürteldrucker (ZQ/QLn-Serie), der direkt von einer App gesteuert wird, oder eine bestehende CPCL-Codebasis, deren Migration sich nicht lohnt.

Prüfen Sie vor dem Senden, worauf der Drucker eingestellt ist. Ein Link-OS-Drucker nimmt über jede Verbindung eine SGD-Abfrage an: ! U1 getvar "device.languages" — und ! U1 getvar "allcv" listet die Werte, die das Modell erlaubt. Umschalten: ! U1 setvar "device.languages" "zpl" und danach ein Reset; ein mobiler Drucker, der mit line_print ausgeliefert wird, ignoriert gesendetes ZPL stillschweigend, bis Sie das tun. Wird der Drucker über einen Windows-Treiber angesteuert, muss auch dessen Sprache passen (Zebras device.pnp_option) — ein ZPL-Job durch einen CPCL-Treiber druckt nichts oder die Befehle als Text. Nicht sicher, in welcher Sprache eine Datei ist? Der Sprachdetektor liest den Code selbst; das CPCL-Zentrum und das ZPL-Zentrum bündeln Werkzeuge und Referenzen jeder Sprache.

Wenn Sie zwischen beiden portieren

  1. Nicht Zeile für Zeile übersetzen. Aus den Maßen neu bauen. Punktkoordinaten sind nicht austauschbar, weil es die Etikettengeometrie meist auch nicht ist.
  2. Größe und Menge in den Header holen. Für das Paar ^LL/^PQ gibt es kein CPCL-Gegenstück; beide werden Felder der !-Zeile.
  3. Drehung neu schreiben. Aus dem Richtungsbuchstaben je Feld wird ein anderer Befehlsname; Code, der Felder programmatisch baut, muss meist umgebaut werden.
  4. Kontrast am Gerät neu testen. Ein Layout, das vom Tischdrucker scharf kommt, kann auf einem mobilen Gerät bei gleicher nomineller Schwärzung zulaufen.

Sehen Sie beide Engines nebeneinander: den ZPL-Viewer und den CPCL-Viewer. Wenn Sie nicht sicher sind, in welcher Sprache eine Datei geschrieben ist, ordnet der Sprachdetektor sie anhand des Codes selbst ein. Die Details zur Fehlersuche auf der mobilen Seite stehen in CPCL prüfen und debuggen; jeder CPCL-Befehl, den die Vorschau liest, steht mit seinem Unterstützungsstatus in der CPCL-Befehlsreferenz.

Häufig gestellte Fragen

Soll ich ZPL oder CPCL verwenden?

ZPL, außer der Drucker ist ein mobiles Gerät, das nur CPCL spricht. Zebra erweitert ZPL weiter und liefert es auf fast jedem Modell; CPCL ist für Gürteldrucker (ZQ/QLn), die direkt von einer App gesteuert werden, oder für bestehenden CPCL-Code.

Kann ein Zebra-Drucker ZPL und CPCL ausführen?

Viele mobile Link-OS-Drucker ja, aber nur eines zur Zeit: die aktive Sprache ist die Einstellung device.languages. Mit ! U1 getvar "device.languages" abfragen, mit ! U1 setvar "device.languages" "zpl" und einem Reset umschalten. Tisch- und Industriedrucker sind reine ZPL-Geräte.

Warum druckt mein ZPL auf dem mobilen Drucker als Klartext oder gar nicht?

Der Drucker ist im CPCL- oder Line-Print-Modus, ^XA…^XZ wird nicht geparst. device.languages auf zpl stellen; beim Druck über einen Windows-Treiber den Treiber auf dieselbe Sprache setzen (device.pnp_option).

Verwandte Ratgeber

TSPL vs. EPL: Migration vom Altbestand

Von EPL-Druckern zu TSC-Hardware: was beide Sprachen teilen, was kein Gegenstück hat und wie man die Migration testet.

ZPL vs. TSPL: was wirklich anders ist

Größe in Punkten gegen echte Einheiten, Auftragsaufbau, Text- und Barcode-Syntax — die ZPL/TSPL-Unterschiede, die Portierzeit kosten.

EPL ohne Drucker prüfen und debuggen

Alte EPL/EPL2-Aufträge im Browser gerendert: was jede Zeile tut, welche Befunde zählen und was eine Vorschau nicht zeichnet.

Arabischer Text in CPCL gespiegelt oder zerrissen

Arabisch oder Hebräisch per CPCL TEXT kann gespiegelt oder mit getrennten Buchstaben drucken. Warum, und drei Wege, Rechts-nach-links-Text richtig zu drucken.

Eigenen ZPL-Code testen →