Allow users to change impl for soft_barcode

This commit is contained in:
Romain Porte 2017-05-22 20:21:35 +02:00
parent 737cc3176e
commit 22cf6ad00b
1 changed files with 7 additions and 2 deletions

View File

@ -399,14 +399,18 @@ class Escpos(object):
if function_type.upper() == "A": if function_type.upper() == "A":
self._raw(NUL) self._raw(NUL)
def soft_barcode(self, barcode_type, data, module_height=5, module_width=0.2, text_distance=1): def soft_barcode(self, barcode_type, data, impl='bitImageColumn',
module_height=5, module_width=0.2, text_distance=1):
image_writer = ImageWriter() image_writer = ImageWriter()
# Check if barcode type exists
if barcode_type not in barcode.PROVIDED_BARCODES: if barcode_type not in barcode.PROVIDED_BARCODES:
raise BarcodeTypeError( raise BarcodeTypeError(
'Barcode type {} not supported by software barcode renderer' 'Barcode type {} not supported by software barcode renderer'
.format(barcode_type)) .format(barcode_type))
# Render the barcode to a fake file
barcode_class = barcode.get_barcode_class(barcode_type) barcode_class = barcode.get_barcode_class(barcode_type)
my_code = barcode_class(data, writer=image_writer) my_code = barcode_class(data, writer=image_writer)
@ -416,8 +420,9 @@ class Escpos(object):
'text_distance': text_distance 'text_distance': text_distance
}) })
# Retrieve the Pillow image and print it
image = my_code.writer._image image = my_code.writer._image
self.image(image, impl='bitImageColumn') self.image(image, impl=impl)
def text(self, txt): def text(self, txt):
""" Print alpha-numeric text """ Print alpha-numeric text