Spaces:
Running
Running
import qrcode | |
import gradio as gr | |
from io import BytesIO | |
def generate_qr(url): | |
"""Generates a QR code from a given URL and returns the image and download link.""" | |
qr = qrcode.QRCode( | |
version=1, | |
error_correction=qrcode.constants.ERROR_CORRECT_L, | |
box_size=10, | |
border=4 | |
) | |
qr.add_data(url) | |
qr.make(fit=True) | |
img = qr.make_image(fill="black", back_color="white") | |
# Save to BytesIO for download | |
img_io = BytesIO() | |
img.save(img_io, format="PNG") | |
img_io.seek(0) | |
# Ensure file remains open when accessed | |
return img, ("qr_code.png", img_io.getvalue()) | |
iface = gr.Interface( | |
fn=generate_qr, | |
inputs=gr.Textbox(label="Enter URL"), | |
outputs=[ | |
gr.Image(label="Generated QR Code"), | |
gr.File(label="Download QR Code") | |
], | |
title="QR Code Generator", | |
description="Enter a URL to generate and download a QR Code." | |
) | |
iface.launch() | |