Giriş
Ürünler
ZPL GörüntüleyiciBarkod OluşturucuGörsel → ZPLZPL hile sayfasıEtiket TasarımcısıŞablon Galerisi
Geliştiriciler
API Hızlı BaşlangıçAPI ReferansıMCP SunucusuToplu ÜretimWebhook'larSDK'lar ve ÖrneklerLimitlerDirectPrint agent YeniGitHub ActionVS Code eklentisiOn-Premise
Çözümler
Lojistik ve KargoE-TicaretERP & WMSÜretimPerakendeSağlık ve LaboratuvarTüm çözümler
Araçlar
ZPL Teşhis MerkeziZPL Hata AyıklayıcıBoyut ve DPI AnaliziDPI DönüştürücüBarkod sığdırma hesaplayıcısıSevkiyat Etiketi AnaliziFont DenetimiYön DenetimiKalibrasyon AsistanıYazıcı Uyumluluk KontrolüBarkod Okunabilirlik KontrolüYazıcı Dili TespitiTermal Yazıcı Test PaketiZPL AraçlarıEPL AraçlarıTSPL AraçlarıCPCL AraçlarıYazıcı Dili DönüştürücüTüm AraçlarRehberFiyatlandırma
Dil
EnglishTürkçeDeutsch
Ana Sayfa›Rehber›Telefondan ya da Tarayıcıdan Bluetooth Etiket Yazıcıya TSPL Basmak

Telefondan ya da Tarayıcıdan Bluetooth Etiket Yazıcıya TSPL Basmak

Yayın tarihi:

Ucuz 4×6 ve küçük etiket yazıcılarının çoğu TSPL konuşur ve Bluetooth ile gelir. Bir web uygulamasından ya da telefondan bunlara basmak mümkündür — insanlar bunu Android Chrome'dan birkaç düzine satır JavaScript ile yapıyor — ama önce yazıcının hangi Bluetooth'u konuştuğunu bilmeniz ve Web Bluetooth'u uygulayan bir tarayıcı kullanmanız gerekir.

İki tür Bluetooth

Bluetooth Low Energy (BLE) cihazlar veriyi GATT üzerinden sunar: içinde okuyup yazabileceğiniz ya da abone olabileceğiniz karakteristikler bulunan servisler. BLE etiket yazıcısında baskı verisini kabul eden genellikle bir karakteristik vardır. Bluetooth Classic yazıcılar ise çoğunlukla seri port profili (SPP) sunar: kablo gibi bir bayt akışı. Hangisine sahip olduğunuzu yazıcının teknik sayfası ya da eşleşme davranışı söyler; bazı yazıcılar ikisini de sunar.

Bu ayrım bir web sayfasının ne yapabileceğini belirler. Web Bluetooth API BLE cihazlara GATT üzerinden bağlanır. Classic cihazlar için Chrome'un kendi belgesi Web Serial API'yi gösterir; Web Serial, Chrome 117 masaüstünde eşlenmiş cihazlardaki SPP gibi RFCOMM servislerini destekler.

Hangi tarayıcılar yapabilir

Web Bluetooth deneysel olarak işaretli ve Baseline değil. Chrome (masaüstü ve Android), Edge, Opera ve Samsung Internet'te var. macOS ve iOS'taki Safari ile Firefox desteklemiyor. iPhone ve iPad'de Safari'de desteklenen bir yol yok; kendi Bluetooth köprüsünü ekleyen üçüncü taraf tarayıcılar var ve aşağıdaki bildirimlerden biri bunlardan birini kullandı, ama bu WebKit'in parçası değil. API yalnız HTTPS'te (güvenli bağlam) çalışır ve requestDevice() düğmeye dokunma gibi bir kullanıcı hareketinden çağrılmalıdır — yani bir "Yazıcıya bağlan" düğmesi gerekir.

Genel yaklaşım

1. Kullanıcıdan yazıcıyı seçmesini isteyin ve kullanacağınız servisi bildirin. 2. Bağlanın ve özellikleri yazmaya izin veren bir karakteristik bulun. 3. TSPL işini küçük parçalar hâlinde gönderin.

// SERVICE_UUID: yazıcınızın belgesinden ya da bir BLE tarayıcı uygulamasından
const device = await navigator.bluetooth.requestDevice({
  acceptAllDevices: true,
  optionalServices: [SERVICE_UUID],
});
const server = await device.gatt.connect();
const service = await server.getPrimaryService(SERVICE_UUID);
const chars = await service.getCharacteristics();
const out = chars.find(
  (c) => c.properties.writeWithoutResponse || c.properties.write);

const bytes = new TextEncoder().encode(tsplJob);
const CHUNK = 180;
for (let i = 0; i < bytes.length; i += CHUNK) {
  const part = bytes.slice(i, i + CHUNK);
  if (out.properties.writeWithoutResponse) {
    await out.writeValueWithoutResponse(part);
  } else {
    await out.writeValueWithResponse(part);
  }
}

Neden parça parça. Web Bluetooth belirtimi 512 bayttan uzun tek bir yazmayı reddeder; yazma başına kullanılabilir boyutu ise bağlantının müzakere edilen MTU'su belirler — tarayıcı müzakere eder, sayfa görmez. Bir etiket işi, özellikle BITMAP içerenler, bundan çok uzundur; bu yüzden parça parça gider. 4×6 bir BLE yazıcıyla ilgili bir bildirim, writeValueWithoutResponse ile 179 baytlık parçaları aralarında 8 ms bekleyerek kayıpsız gönderdi; bu tür sayıları sabit değil, kendi cihazınız için başlangıç noktası sayın.

UUID'ler yazıcınındır, bizim değil. Servis ve karakteristik kimlikleri üreticiden üreticiye, hatta modelden modele değişir — aşağıdaki bildirimler farklı yazıcılarda farklı kısa kimlikler gösteriyor — ve burada listelemiyoruz. Üreticinin belgesinden ya da bir BLE tarayıcı uygulamasıyla okuyun. Bir bildiren, optionalServices'in yalnız tam 128 bitlik UUID biçimiyle çalıştığını gördü.

En küçük TSPL işi

203 dpi yazıcı (milimetrede 8 nokta) için bir satır metin ve Code 128 barkodlu 50 × 30 mm etiket:

SIZE 50 mm, 30 mm
GAP 2 mm, 0 mm
CLS
TEXT 40,24,"3",0,1,1,"BOX 42"
BARCODE 40,80,"128",80,1,0,2,2,"12345678"
PRINT 1

SIZE ve GAP etiket malzemesini gerçek birimle tanımlar, CLS görüntü belleğini temizler, TEXT ve BARCODE içeriği sol üst köşeden nokta cinsinden yerleştirir, PRINT 1 bir kopya basar. Bu iş TSPL doğrulayıcıdan bulgusuz geçer ve TSPL görüntüleyicide etikete sığar; kendi işinizi havadan göndermeden önce oraya yapıştırın — yanlış SIZE ya da kenarı aşan bir koordinat bir şerit etiket yerine ekranda görünür. Komut ayrıntıları TSPL komut başvurusunda, geniş önizleme akışı TSPL önizleme ve hata ayıklama yazısında.

Bağlanıyor ama hiçbir şey basılmıyor

Bildirim için kullanılan karakteristiğe değil, baskı verisini kabul edene yazdığınızı kontrol edin. İşin PRINT ile bittiğini kontrol edin. Bir ailedeki bazı yazıcılar kendi cep yazıcısı komutlarına da cevap veriyorsa TSPL'in varsayılan olduğunu varsaymayın: bir bildirim, aynı karakteristikte TSPL'in temiz ve kenara hizalı baskı verdiğini, üreticinin raster komutlarınınsa kesik çıktığını buldu. Siyah dikdörtgen olarak basılan logo bir TSPL bit kutupluluğu sorunudur — bkz. TSPL BITMAP siyah kutu basıyor. Zebra yazıcılar ve telefondan ZPL için yollar farklıdır; bkz. iPhone, iPad ya da Android'den ZPL basmak.

Kaynaklar

Sık sorulan sorular

Bir web sayfasından Bluetooth etiket yazıcıya basabilir miyim?

Evet, yazıcı Bluetooth Low Energy kullanıyorsa ve tarayıcı Web Bluetooth'u uyguluyorsa: masaüstü ve Android'de Chrome, Edge, Opera ve Samsung Internet. iPhone, iPad ve macOS'taki Safari ile Firefox desteklemiyor.

Web Bluetooth, Bluetooth Classic (SPP) yazıcılarla çalışır mı?

Hayır. Web Bluetooth BLE cihazlarla GATT üzerinden konuşur. Classic seri port yazıcılar için Chrome, Chrome 117 masaüstünde eşlenmiş cihazlardaki SPP gibi RFCOMM servislerini destekleyen Web Serial API'yi gösterir.

TSPL işini neden parça parça göndermem gerekiyor?

Web Bluetooth belirtimi 512 bayttan uzun tek bir yazmayı reddeder ve yazma başına kullanılabilir boyut bağlantının MTU'suna bağlıdır. Bir bildirim 179 baytlık parçaları 8 ms arayla kayıpsız gönderdi; boyutu kendi yazıcınıza göre ayarlayın.

İlgili yazılar

USB Zebra yazıcıya buluttan ZPL baskısı

USB etiket yazıcısının 9100 portu yoktur. İşletim sisteminin yazdırma kuyruğu ham ZPL'i nasıl taşır ve Labelixa agent'ı o kuyruğu bulut API'ye nasıl bağlar.

CUPS Güncellemesinden Sonra Etiket Büyük, Kesik ya da Boş Basıyor

Linux güncellemesinden sonra etiket büyüyor, kesiliyor, boş çıkıyor ya da barkod siyah blok oluyor. Sürücülü kuyruğun payı ve ham kuyruk çözümü.

Etiket neden yanlış yazıcıdan çıktı?

Etiketin yanlış yazıcıdan çıkması şanssızlık değil, bir kimlik sorunudur: kuyruk adları, DHCP kiraları ve paylaşılan sürücüler. Teşhis ve önleme.

macOS ve Linux'ta Ham CUPS Kuyruğuyla ZPL Basmak

lpadmin ile ham (raw) CUPS kuyruğu kurma, lp ile ZPL gönderme ve klasik tuzak: süzgeçli kuyruğun ZPL kodunuzu düz metin olarak basması.

Kendi ZPL kodunuzu deneyin →