33 lines
954 B
Python
Executable File
33 lines
954 B
Python
Executable File
#!/bin/python
|
|
|
|
import shimatta_label.label_image as li
|
|
import shimatta_label.brother_ql_wrapper as ql_wrapper
|
|
import sys
|
|
import treepoem
|
|
|
|
class DotmatrixLabel(li.Label):
|
|
pixels_x = 120
|
|
pixels_y = 106
|
|
|
|
def put_matrix_code(self, qr):
|
|
code = treepoem.generate_barcode('datamatrix', qr).convert('1')
|
|
box = (int(self.pixels_x/2 -code.size[0]/2), int(self.pixels_y/2 - code.size[1]/2))
|
|
self.img.paste(code, box=box)
|
|
|
|
printer_model = 'QL-800'
|
|
printer_connection = 'usb://0x04f9:0x209b'
|
|
|
|
if len(sys.argv) >= 2:
|
|
qr_data = sys.argv[1]
|
|
else:
|
|
qr_data = input('Scan QR Code: ')
|
|
|
|
while qr_data:
|
|
|
|
label = DotmatrixLabel()
|
|
label.put_matrix_code(qr_data)
|
|
#label.save('/tmp/foo.png')
|
|
printer = ql_wrapper.BrotherQlPrinter(model=printer_model, printer_connection=printer_connection, label_format='12')
|
|
printer.print_image(label.get_pillow_image(), cut=True, rotation=90)
|
|
|
|
qr_data = input('Scan QR Code: ') |