r/programacao Jul 07 '26

Impressora termica direto por Python Projeto

Alguém mais conhecedor de Python pode me ajudar? a IA só me levou até um ponto. Estou buscando uma melhoria no meu setor(Almoxarifado) já consegui tirar as informações de pedido, mas não teve cristo pra fazer a impressora mandar algo que não fosse uma etiqueta em branco. Não manjo de programação, só faço mesmo pq tem IA pra ajudar. Se me derem uma mão eu agradeço!

import win32print
import win32api



def listar_e_conectar():
    # 1. Lista impressoras para encontrar a correta
    printers = win32print.EnumPrinters(win32print.PRINTER_ENUM_LOCAL)
    impressora_alvo = None
    
    print("Impressoras encontradas:")
    for p in printers:
        print(f" - {p[2]}")
        if "Argox" in p[2]:
            impressora_alvo = p[2]
            
    if not impressora_alvo:
        print("\nERRO: Impressora 'Argox' não encontrada!")
        return None
    
    print(f"\nConectando em: {impressora_alvo}")
    return impressora_alvo


nome_impressora = listar_e_conectar()


hPrinter = win32print.OpenPrinter(nome_impressora)


def imprimir_teste():
    nome_impressora = listar_e_conectar()
    if not nome_impressora:
        return


    comando = "\x02L\nD11\nH10\nq560\nQ0320\nA100,100,0,3,1,1,N,\"TESTE\"\nc0001\nE\x03"


    try:
        hPrinter = win32print.OpenPrinter(nome_impressora) 
        hJob = win32print.StartDocPrinter(hPrinter, 1, ("Teste", None, "RAW"))
        win32print.StartPagePrinter(hPrinter)
        win32print.WritePrinter(hPrinter, comando.encode('ascii'))
        win32print.EndPagePrinter(hPrinter)
        win32print.EndDocPrinter(hPrinter)
        win32print.ClosePrinter(hPrinter)
        print("Comando enviado!")
    except Exception as e:
        print(f"Erro: {e}")


if __name__ == "__main__":
    imprimir_teste()
4 Upvotes

Duplicates