Yayın tarihi:
Bir ZPL dosyasının basılması için sürücü gerekmez. Ağa bağlı termal yazıcıların çoğu TCP 9100 portunu dinler ("raw" ya da "JetDirect" baskı denir) ve oraya gelen her şeyi yazıcı komutu olarak işler. Etiket göndermek bu yüzden bir sokete bayt taşımaktan ibarettir — her işletim sisteminden, hiçbir yazılım kurmadan yapılabilir.
9100 portunun geri alması yoktur. İş yazıcıya ulaştığı anda malzeme
ilerlemeye başlar; her hata bir etiket ve bir parça ribon demektir. ZPL'i
önce online görüntüleyiciye yapıştırın:
render edilmiş etiketi ve yapısal sorunları (eksik ^FS,
etiket dışına taşan alanlar) yazıcıdan önce siz görürsünüz.
Klasik araç nc (netcat). IP'yi kendi yazıcınızın
adresiyle değiştirin:
nc 192.168.1.50 9100 < etiket.zpl
CUPS olan sistemlerde ham kuyrukla lp de kullanılabilir;
ama tek seferlik işler için soket daha basittir — yapılandırılacak bir
şey yoktur.
PowerShell aynı soketi ek araç olmadan açar:
$c = New-Object Net.Sockets.TcpClient('192.168.1.50', 9100)
$b = [IO.File]::ReadAllBytes('etiket.zpl')
$c.GetStream().Write($b, 0, $b.Length); $c.Close()
Eski usül (yazıcıyı paylaşıp copy /b) hâlâ çalışır, ama
soket yaklaşımı ne paylaşım ne sürücü ister.
TCP soketi açabilen her dil basabilir. Python:
import socket
with socket.create_connection(("192.168.1.50", 9100), timeout=5) as s:
with open("etiket.zpl", "rb") as f:
s.sendall(f.read())
Basit senaryoda 9100'ün yanıt protokolü yoktur: soketin hatasız kapanması yazıcının baytları KABUL ETTİĞİ anlamına gelir — etiketin doğru BASILDIĞI anlamına gelmez. Yoğunluk uyuşmazlığı ve yerleşim hataları burada görünmez; yukarıdaki önizleme adımı bu yüzden önemli.
Sırayla ilerleyin — gerçek vakaların çoğunu bu liste kapsar:
1. Yazıcıya hiç ulaşabiliyor musunuz? IP'ye ping
atın; olmuyorsa sorun ağda, ZPL'de değil.
2. 9100 portu açık mı? Bazı yazıcılar ham baskı kapalı ya da
farklı portla gelir — yazıcının ağ yapılandırma sayfasına bakın.
3. Yazıcı duraklatılmış ya da hatada mı? Yanıp sönen durum ışığı,
işin yazıcının içinde beklediğini gösterir, kaybolduğunu değil.
4. ZPL gerçekten bir etiket mi? Her şey ^XA ile
^XZ arasında olmalı; bu çerçevesi olmayan dosya sessizce yok
sayılır — "hiçbir şey olmuyor"un en sık sebebi.
5. Basılıyor ama yanlış mı? O ayrı bir sorun sınıfı:
ZPL etiketi neden
yanlış basılır yazısına bakın.
Yaygın durumda TCP 9100 — oraya gelen her şey yazıcı komutu olarak işlenir. Bazı yazıcılar ham baskı kapalı ya da farklı portla gelir; yazıcının ağ yapılandırma sayfası esastır.
Hayır. Ham baskı, sokete bayt taşımaktır: Linux/macOS'ta nc, Windows'ta kısa bir PowerShell parçası ya da koddan herhangi bir dilin TCP soketi.
9100 geri bildirim vermez: kabul edilen iş, basılmış etiket demek değildir. Yazıcının duraklatma/hata durumuna bakın ve ZPL'in ^XA ile ^XZ arasında olduğundan emin olun — çerçevesiz dosya sessizce yok sayılır.
ZPL, Zebra termal yazıcıların anladığı komut dilidir. Komutların nasıl okunacağını, bir etiketin nasıl kurulduğunu ve en sık yapılan hataları anlatıyoruz.
Hangi barkod türünü seçmeliyim?EAN-13 mi, Code 128 mi, QR mı? Barkod türünü veriye, alana ve okuyucuya göre seçmenin pratik kuralları.
ZPL dosyası yazıcısız nasıl önizlenir?ZPL dosyası yalnızca metindir — etiket ancak biri onu çizdiğinde var olur. ZPL etiketini yazıcıya gitmeden görmenin üç pratik yolu.