Bom dia,
Atualmente possua uma aplicação Django para impressão de etiquetas em uma impressora Zebra GX430T, no windows localmente. Estou utilizando o comando abaixo, para pega as impressoras locais:
zebra_usb = Zebra()
queue = zebra_usb.getqueues()
zebra_usb.setqueue(queue[int(fila)])
label = "Teste de etiqueta"
zebra_usb.output(label)
No windows local funciona perfeitamente, mas quando crio um container ubuntun para hospedar minha aplicação , o sistema da erro. Faz sentido porque a impressora não esta local e o camando não serve para linux.
Como posso hospedar minha view em linux e ela reconhecer a impressora remota que vai estar em um endereco ip compartilhada ? segue minha view :
def imprimir_Etiqueta(request):
fila = request.POST.get('impressora')
codcli= qtd = request.POST.get('cliente')
copias = request.POST.get('copias')
qtde = request.POST.get('qtde')
part_number = request.POST.get('partnumber')
produto = request.POST.get('produto')
desc = request.POST.get('desc')
cliente = Cliente.objects.using('totvs').get(codigo=codcli)
if desc is None:
desc = Sb1020.objects.using("totvs").get(b1_cod=produto)
zebra_usb = Zebra()
queue = zebra_usb.getqueues()
zebra_usb.setqueue(queue[int(fila)])
if request.POST and produto and part_number:
label = """
^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR4,4~SD30^JUS^LRN^CI0^XZ
^XA
^MMT
^PW945
^LL0591
^LS0
^FO0,96^GFA,03840,03840,00120,:Z64:
eJztzTENADAMBLFIAVL+LAqsUkrhth9yJuAqSZK0xhnihV4o9TI3+TIdeqHUK2mDDyTYycQ=:ABCA
^FO11,11^GB919,545,4^FS
^FO15,229^GB914,0,4^FS
^FT25,148^AFN,26,13^FH\^FDDW Codigo^FS
^FT526,148^AFN,26,13^FH\^FDPart Number^FS
^FO505,118^GB0,111,4^FS
^FT25,263^AFN,26,13^FH\^FDDescri\87ao^FS
^FO15,370^GB914,0,4^FS
^FT25,401^AFN,26,13^FH\^FDQuantidade^FS
^FT460,401^AFN,26,13^FH\^FDData^FS
^FO448,372^GB0,80,4^FS
^FO11,448^GB919,0,4^FS
^FT20,479^AFN,26,13^FH\^FDCliente/Fornecedor^FS
^FT59,206^A0N,46,50^FH\^FD"""+produto[0:30]+"""^FS
^FT550,206^A0N,46,50^FH\^FD"""+part_number[0:30]+"""^FS
^FT45,325^A0N,46,45^FH\^FD"""+desc.b1_desc[0:37]+"""^FS
^FT230,427^A0N,46,50^FH\^FD"""+qtde+"""^FS
^FT577,435^A0N,46,50^FH\^FD"""+data_atual()+"""^FS
^FT45,536^A0N,46,50^FH\^FD"""+cliente.nome[0:37]+"""^FS
^FT29,83^A0N,46,50^FH\^FDDaikin Ar Condicionado Amazonas LTDA^FS
^PQ"""+copias+""",0,1,Y^XZ
"""
try:
zebra_usb.output(label)
except:
print("Error with the connection")
produtos = Sb1020.objects.using("totvs").filter(Q(b1_tipo=('PA')) | Q(b1_tipo=('UT')) | Q(b1_tipo=('MP')) | Q(b1_tipo=('MP')) ).order_by('b1_desc')
clientes = Cliente.objects.using('totvs').all()
zebra_usb = Zebra()
"""
Pegas as Impressoras ativas para montar o select da impressora
"""
queue_list = zebra_usb.getqueues()
context = {
'produtos' : produtos,
'clientes' : clientes,
'queue' : queue_list,
}
return render(request,"cadastros/etiqueta_garantia.html", context)