Skip to main content

Konsol Entegrasyonu

Plato Konsolu, PC yazıcı sürücüsü için WIN_DRIVER yazıcı adaptörünü kullanır.

Yazıcı Kaydı

Konsol, yazıcıları printer-database adlı IndexedDB veritabanında saklar. Yazıcı kayıtları şunları içerir:
  • yazıcı türü
  • durum
  • son hata
  • yapılandırma
  • kağıt genişliği
  • kategoriler
  • sipariş türleri
  • logo
İlgili tür:

Sürücü URL

WIN_DRIVER adaptörü, URL tabanını yazıcı yapılandırmasından oluşturur:
driverPort boşsa adaptör bağlantı noktasını atlar. Bu, 443 bağlantı noktasındaki HTTPS için kullanışlıdır.

Yazıcı Hedefi

Adaptör, fiziksel yazıcı hedefini URL sürücüsünden ayrı olarak gönderir. Yazıcı IP’si eksikse veya 192.168.0.0’ye eşitse bağdaştırıcı ip_address: null ve port: null’yi gönderir ve mevcut sürücü bunları Missing printer address ile reddeder.

Satıcı Kimlikleri

Adaptör satıcıları eşleştirir:

Baskı Hazırlığı

Konsol yazdırma akışı:
  1. DOM’u PNG bloğuna dönüştürün.
  2. Blobu tuvale yükleyin.
  3. Tuval piksellerini siyah/beyaz tarama satırlarına dönüştürün.
  4. Raster satırlarını 128 satırlık parçalara bölün.
  5. Her parçayı ESC/POS tarama baytları olarak kodlayın.
  6. Base64 her bayt parçasını kodlar.
  7. POST /print’yi gönderin.
Sürücü hiçbir zaman HTML almaz. Yazdırılabilir ESC/POS parçalarını alır.

Tarayıcı Sırası

Konsolun, istekler bilgisayar sürücüsüne ulaşmadan önce yerel bir tarayıcı kuyruğu vardır.
  • İşler IndexedDB’de saklanır.
  • İşler pending’den printing’ye taşınır.
  • Başarısız olan işler failed olarak işaretlenir.
  • Eski bir printing işi 60 saniye sonra kurtarılır.
  • Zamanlanmış işler her 30 saniyede bir kontrol edilir.
  • Başarısız olan işler her 60 saniyede bir yeniden denenir.
HTTP isteği kabul edildikten sonra PC yazıcı sürücüsünün kendi Redis kuyruğu vardır. Bu, iki kuyruğun olduğu anlamına gelir:

Durum Eşleme

Konsol POST /status’yi çağırır.
  • HTTP hatası OFFLINE değerini döndürür.
  • ok: true ve status ile yanıt, offline değil, ONLINE değerini döndürür.
  • Diğer sürücü yanıtları lastError olarak saklanır.

Para Çekmecesi

Konsol, kasa çekmecesi ile yapılandırılmış her çevrimiçi yazıcı için POST /cash-drawer’yi çağırır.