Zebra lp2824
To taka słodka mała drukarka termiczna
https://github.com/cod3monk/zpl
programowanie w ZPL https://www.zebra.com/us/en/support-downloads/knowledge-articles/zpl-command-information-and-details.html
Instalacja
Pod CUPS przeklikać przez interfejs webowy. Powinien zostać wykryty jeden z kilku sterowników. Zebra obsługuje dwa protokoły, EPL2 oraz ZPL.
Konfiguracja
ZAPOMNIJ O KONFIGURACJI DO ZPL, BO TO NIE JEST WERSJA PLUS TEJ DRUKARKI ARGH!!!!
Zmiana trybu – ZPL to nowszy język, posiada dostęp do generowania kodów. Domyślnie drukarka przychodzi w trybie EPL2, starszego języka.
Defaults 203 dpi
Dostępny papier Zostanie utworzony plik .ppd który jest sterownikiem(?) konfiguracją drukarki. Dla wygody możemy wywalić etykiety podane w calach i podać normalne jednostki.
#!/bin/python3 """#!/bin/python3 """generate_page_sizes.py MIT, 2020 not7cd usage: echo "56x42\n38x69\n40x28\n32x20" | ./generate_page_sizes.py """ import sys for line in sys.stdin: w, h = (int(n) for n in line.split("x")) pw, ph = (round(n*2.83446712) for n in (w, h)) print( '*PageSize w{pw}h{ph}/{w}x{h}mm: "<</PageSize[{pw} {ph}]/ImagingBBox null>>setpagedevice"' .format(pw=pw, ph=ph, w=w, h=h) )
Paste inside /etc/cups/ppd/Zebra_LP2824.ppd
*PageSize w159h119/56x42mm: "<</PageSize[159 119]/ImagingBBox null>>setpagedevice" *PageSize w108h196/38x69mm: "<</PageSize[108 196]/ImagingBBox null>>setpagedevice" *PageSize w113h79/40x28mm: "<</PageSize[113 79]/ImagingBBox null>>setpagedevice" *PageSize w91h57/32x20mm: "<</PageSize[91 57]/ImagingBBox null>>setpagedevice"
Komunikacja
lp -h 192.168.88.119:631 -d Zebra_LP2824 -o raw example.epl
Wysyłanie ustawień przy pomocy SGD nie za bardzo działa pod linuksem https://unix.stackexchange.com/questions/383792/how-to-send-sgd-commands-to-usb-printer
EPL2
example.epl https://support.zebra.com/cpws/docs/eltron/common/epl2_samp.htm
N q812 S2 A50,0,0,1,1,1,N,"Example 1 0123456789" A50,50,0,2,1,1,N,"Example 2 0123456789" A50,100,0,3,1,1,N,"Example 3 0123456789" A50,150,0,4,1,1,N,"Example 4 0123456789" A50,200,0,5,1,1,N,"EXAMPLE 5 0123456789" A50,300,0,3,2,2,R,"Example 6 0123456789" LO25,600,750,20 B50,800,0,3,3,7,200,B,"998152-001" P1
Więcej o samym EPL2 https://www.zebra.com/us/en/support-downloads/knowledge-articles/ait/epl2-command-information-and-details.html
ZPL
Najpierw trzeba przestawić frajera na tryb ZPL. Nie za bardzo wiem jak się dobrać do interfejsu. Możliwe, że trzeba strzelić tę komendę przez klienta windowsowego i zapomnieć o sprawie.
! U1 setvar "device.languages" "zpl"
Szufladki
https://gist.github.com/not7cd/592f8989c1cc0f1ee22b94ffd186664c
wygeneruj plik z labelkami które chcesz, 40 znaków maks, label per line\
cat labels.txt | python szufladki.py | lp -d Zebra_LP2824 -o raw