From cbc9c3b3418db3e3220e2dfc2572e1e546e8ef3e Mon Sep 17 00:00:00 2001 From: Romain Porte Date: Tue, 18 Jul 2017 18:41:07 +0200 Subject: [PATCH] Ensure QR codes have a border large enough (The QR code spec requires a border at least 4*box_size thick but we can't just set border=16 because that results in a QR code more than 255px tall and I'm not yet ready to use fullimage() as a backend for it) This fix was originally commited by Stephan Sokolow on 2014-05-22 --- examples/qr_code.py | 16 ++++++++++++++++ src/escpos/escpos.py | 3 +++ 2 files changed, 19 insertions(+) create mode 100644 examples/qr_code.py diff --git a/examples/qr_code.py b/examples/qr_code.py new file mode 100644 index 0000000..1fe8448 --- /dev/null +++ b/examples/qr_code.py @@ -0,0 +1,16 @@ +from escpos.printer import Usb + + +if __name__ == '__main__': + + # Adapt to your needs + p = Usb(0x0416, 0x5011, profile="POS-5890") + + # Some software barcodes + p.set(align='left') + + p.text("hello\n") + + p.qr("https://github.com/python-escpos/python-escpos") + + p.text("world\n") \ No newline at end of file diff --git a/src/escpos/escpos.py b/src/escpos/escpos.py index 0af1e55..f319ea3 100644 --- a/src/escpos/escpos.py +++ b/src/escpos/escpos.py @@ -203,7 +203,10 @@ class Escpos(object): qr_img = qr_code.make_image() im = qr_img._img.convert("RGB") # Convert the RGB image in printable image + self.text('\n') self.image(im) + self.text('\n') + self.text('\n') return # Native 2D code printing cn = b'1' # Code type for QR code