diff --git a/Api/main.py b/Api/main.py index b252b0a..3b0f6d5 100644 --- a/Api/main.py +++ b/Api/main.py @@ -1,6 +1,6 @@ from fastapi import FastAPI, Response from escpos.printer import Dummy -# from escpos.printer import Network +from escpos.printer import Network import sys import json @@ -25,9 +25,9 @@ class Info(BaseModel): def print_bill(data, address, waiter): d = data # Crea una instancia de la impresora ficticia - # printer = Network(str(address)) - # printer.open() - printer = Dummy() + printer = Network(str(address)) + printer.open() + # printer = Dummy() # Imprime el encabezado printer.set(align='center', bold=False, height=1, width=1) printer.text(d["shop_name"]+'\n') @@ -85,13 +85,16 @@ def print_bill(data, address, waiter): printer.set(align='center', bold=False, height=1, width=1) printer.textln('==============================================\n') if d["fe_cufe"]: - # printer.qr(d["fe_cufe"]) QR = QRCodeGenerator(d["fe_cufe"]).generate_qr() with tempfile.NamedTemporaryFile( delete=True, suffix='.png', dir='/tmp') as temp_file: temp_filename = temp_file.name QR.save(temp_filename) printer.image(f"{temp_filename}") + printer.set(align='left', bold=False, height=1, width=1) + text = str(payment["statement"])+" $"+str(payment["amount"]) + printer.textln(text) + printer.set(align='center', bold=False, height=1, width=1) printer.text("Sigue nuestras redes sociales\n") printer.text("@bicipizza\n") printer.text("Recuerde que la propina es voluntaria.\n") @@ -104,13 +107,13 @@ def print_bill(data, address, waiter): printer.text(str(waiter)+'\n') # Corta el papel (solo para impresoras que soportan esta función) - # printer.cut() - # printer.close() + printer.cut() + printer.close() # Obtiene el contenido del ticket de prueba - ticket_contenido = printer.output + # ticket_contenido = printer.output # raise Exception(ticket_contenido) # Imprime el contenido en la consola - sys.stdout.write(ticket_contenido.decode('utf-8', errors='ignore')) + # sys.stdout.write(ticket_contenido.decode('utf-8', errors='ignore')) def print_customer_order(data, address, waiter): diff --git a/Api/qr_generator.py b/Api/qr_generator.py index 14c9c20..e948f2d 100644 --- a/Api/qr_generator.py +++ b/Api/qr_generator.py @@ -13,7 +13,7 @@ class QRCodeGenerator: qr = qrcode.QRCode( version=1, error_correction=qrcode.constants.ERROR_CORRECT_L, - box_size=10, + box_size=6, border=4, ) qr.add_data(self.url) diff --git a/Api/test/test_main.py b/Api/test/test_main.py index 0dbbb4f..903c8e9 100644 --- a/Api/test/test_main.py +++ b/Api/test/test_main.py @@ -18,7 +18,7 @@ def test_print_bill(): json.dumps( load_json('test/fixtures/bill.json') )), - "ip_printer": "192.168.1.100", + "ip_printer": "192.168.1.105", "user_name": "Juan" }