def show_qr_code(image_file): from pyzbar import pyzbar from qrcode import QRCode from PIL import Image qr = QRCode() results = pyzbar.decode(Image.open(image_file), symbols=[pyzbar.ZBarSymbol.QRCODE]) qr_data = results[0].data qr.add_data(qr_data) qr.print_ascii() qr.clear()
class QRCoder: def __init__(self, box_size: int = 10, border: int = 4) -> None: self.logger = logging.getLogger(__name__) self.qr = QRCode( error_correction=ERROR_CORRECT_L, box_size=box_size, border=border, image_factory=SvgFragmentImage, ) def generate_inline_svg(self, text: str) -> str: self.qr.add_data(text) qrcode = self.qr.make_image().get_image() inline_svg = ET.tostring(qrcode) self.qr.clear() return inline_svg
from qrcode import QRCode from recipe_links import RECIPE_LINKS DIGITAL_RECIPE_QR_CODES_FILE_PATH = 'digital_recipes_qr_code' qr = QRCode( version= 1, # controls the size of the QR code: 1-40, 1 being the smallest (21x21 matrix) box_size=5, # controls the number of pixels for each QR code "box" border=4, # controls the thickness of the box border ) for name, link in RECIPE_LINKS.items(): qr.add_data(link) # accepts hyperlink qr.make(fit=True ) # ensures that the entire dimension of the QR code is utilize img = qr.make_image(fill_color='#0f346c', back_color='white') img.save(f'{DIGITAL_RECIPE_QR_CODES_FILE_PATH}/{name}_qr_code.png') qr.clear()