별도 driver 설치 없이 SLCS와 IP만으로도 접근 가능함
import socket
PRINTER_IP = "192.168.0.92"
PRINTER_PORT = 9100
def print_slcs_qr(qr_data: str):
slcs = (
"@\\r\\n"
"CB\\r\\n"
"SS3\\r\\n"
"SD20\\r\\n"
"SW340\\r\\n"
"SL160,16,G\\r\\n"
"SOT\\r\\n"
"SM6,6\\r\\n" # SM8,8 = 1mm (padding)
f"B290,5,Q,2,H,3,0,'{qr_data}'\\r\\n" # B2{x},{y},Q,{모델},{ECC},{크기},0,'{qr_data}'
"P1\\r\\n"
)
with socket.create_connection((PRINTER_IP, PRINTER_PORT), timeout=5) as s:
s.sendall(slcs.encode("ascii"))
# QR에 들어갈 URL
print_slcs_qr("<https://nprurprtrgcfwrfdqqqg.supabase.co/functions/v1/example?qr=137>")
드라이버 설치 하면 다른 방법으로 디테일하게 설정이 가능하긴 한데 CLI로는 다운로드 받을 방법이 없어서 SLCS로 하는게 유연하게 개발 가능한 것으로 보임

현재 30x20mm라벨지인데 가능하면 실제 적용할때는 50x50mm으로 변경하면 좋을듯함 (프린터는 너비 54mm까지 지원)