Rehber › ZPL'i Ağ Yazıcısına Doğrudan Nasıl Gönderirsiniz

ZPL'i Ağ Yazıcısına Doğrudan Nasıl Gönderirsiniz

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.

Göndermeden önce: etikete bir bakın

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.

Linux ve macOS

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.

Windows

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.

Koddan

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.

Hiçbir şey basılmıyorsa

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.

Sık sorulan sorular

Zebra yazıcılar ham baskı için hangi portu kullanır?

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.

ZPL göndermek için yazıcı sürücüsü gerekir mi?

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.

Soket hatasız gönderdi — neden hiçbir şey basılmadı?

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.

İlgili yazılar

ZPL nedir?

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.

Kendi ZPL kodunuzu deneyin →