Veröffentlicht:
Am Computer braucht ZPL keinen Treiber: Sie senden die Bytes, die Firmware des Druckers rendert (siehe ZPL ohne Treiber drucken). Smartphones und Tablets erschweren das auf eine bestimmte Weise: Ihre eingebaute Drucken-Funktion sendet ein Dokument, keine Rohbefehle. AirPrint auf iPhone und iPad liefert fertige Seiten, und unter Android verlangt das Druck-Framework von der App ein PDF. Die Frage lautet also nie „welcher Treiber?", sondern „welcher Weg transportiert meine ZPL-Bytes unverändert?"
Zebras kostenlose Printer Setup Utility gibt es für iOS (App
Store) und Android (Google Play). Die Funktion Files sendet eine
Datei an den Drucker — Zebra nennt ZPL-Skripte unter den Dateitypen —,
sodass eine auf dem Gerät gespeicherte .zpl unverändert
druckt. Die Suche findet Drucker im selben Subnetz; steht der Drucker
woanders, geben Sie seine IP-Adresse von Hand ein. Die iOS-Version
verlangt Link-OS 5.2 oder neuer auf dem Drucker.
Sie schreiben eine eigene App? Der Netzwerkweg ist derselbe wie am Desktop: eine TCP-Verbindung zum Drucker auf Port 9100 öffnen und das ZPL schreiben — auch Zebras eigene Android-Druck-App nutzt Port 9100 für den Netzwerkdruck. Befehle und die „Es druckt nichts"-Checkliste stehen in ZPL an einen Netzwerkdrucker senden.
Haben Sie kein ZPL, sondern ein Versandetikett als PDF, ist der Dokumentweg der richtige. Unter Android hängt sich Zebras Dienst Zebra Print in den System-Druckdialog ein und druckt PDFs und Bilder auf unterstützte Link-OS-Drucker (Android 10 oder neuer, Link-OS 5.2 oder neuer; Zebra nennt die Familien ZQ, ZD, ZT und ZR). Für Apple-Geräte dokumentiert Zebra AirPrint für die ZSB-Serie im selben WLAN; für industrielle Link-OS-Modelle haben wir keine offizielle AirPrint-Liste gefunden — planen Sie nicht damit. In beiden Fällen erhält der Drucker ein Bild der Seite — ZPL innerhalb eines Dokuments wird als Text gedruckt, nicht ausgeführt.
Die Printer Setup Utility für iOS verbindet sich über Bluetooth
Classic und Bluetooth Low Energy; eine Classic-Verbindung wird zuerst
einmal in den iOS-Einstellungen gekoppelt. Entwickeln Sie eine iOS-App,
die per Bluetooth mit einem Zebra-Drucker mit Made for iPhone
spricht, nutzt Zebras SDK-Dokumentation Apples ExternalAccessory-Framework
mit dem Protokoll-String com.zebra.rawport.
Ein Smartphone im Mobilfunknetz erreicht keinen Drucker hinter dem Lager-Router. Zwei Muster kommen ohne geöffnete Ports aus:
1. Weblink (Link-OS). Der Drucker selbst öffnet eine ausgehende,
TLS-verschlüsselte WebSocket-Verbindung zu einem von Ihnen konfigurierten
Server und verbindet sich nach einem Abbruch neu; die
Weblink-Serveradresse lässt sich in der Printer Setup Utility einstellen.
Diesen Server brauchen Sie trotzdem — ein Geräteverwaltungsprodukt oder
einen eigenen Dienst —, der die Aufträge weiterleitet.
2. Ein kleiner Agent auf einem Computer neben dem Drucker. Der
DirectPrint-Agent von Labelixa läuft unter Windows, macOS und Linux
(nicht auf Smartphones); er holt Aufträge aus der Cloud und druckt sie
auf einen USB- oder Netzwerkdrucker. Das Smartphone ruft nur die API auf
oder nutzt das Panel. Details:
ZPL
aus der Cloud auf einen USB-Zebra-Drucker drucken.
Eine Webseite kann keine rohe TCP-Verbindung zu Port 9100 öffnen — weder auf dem Smartphone noch anderswo. Zebras Hilfsprogramm Browser Print erscheint für Windows, macOS und Android — eine iOS-Version gibt es nicht. Die funktionierenden Muster (Weiterleitung über einen Server, ein lokales Hilfsprogramm oder ein Dokumentdruck) stehen in ZPL aus dem Browser drucken.
Welcher Weg auch immer: Ein Rohweg hat kein Rückgängig. Prüfen Sie das Etikett zuerst im Online-Viewer — er läuft auch im Browser auf dem Smartphone.
AirPrint und das Android-Druck-Framework senden Dokumente, keine Rohbefehle; ZPL in einem Dokument wird als Text gedruckt. Senden Sie die Datei stattdessen mit Zebras Printer Setup Utility (Files) oder über Port 9100.
Im selben WLAN ja: Die Printer Setup Utility für iOS kann eine ZPL-Datei an einen Link-OS-Drucker senden (Link-OS 5.2 oder neuer), und eine eigene App kann auf Port 9100 schreiben.
Nein. Zebra veröffentlicht Browser Print für Windows, macOS und Android; eine iOS-Version gibt es nicht, und eine Webseite kann Port 9100 nicht selbst öffnen.
Ein Browser kann keinen Socket zu Port 9100 öffnen. Die drei Muster, die ZPL aus einer Web-App wirklich ausliefern, und ihr Preis.
ZPL ohne Druckertreiber druckenWarum ZPL keinen Treiber braucht, drei rohe Sendewege — Socket, CUPS-Raw-Queue, Windows Generic/Text Only — und wann ein echter Treiber wirklich hilft.
ZPL unter macOS und Linux über eine CUPS-Raw-Queue druckenRaw-Warteschlange in CUPS mit lpadmin einrichten, ZPL mit lp senden — und die Falle vermeiden, dass eine filternde Queue den ZPL-Code als Text druckt.
ZPL direkt an einen Netzwerkdrucker sendenZebra-Netzwerkdrucker nehmen rohes ZPL auf TCP-Port 9100 an. Senden von Windows, macOS, Linux oder aus Code — und was zu prüfen ist, wenn nichts gedruckt wird.