Create QR Code With Python

Saddam Hussain
0

Creating QR Codes with Python: A Step-by-Step Guide

QR codes are everywhere nowadays, from product packaging to event tickets and payment systems. They provide a convenient way to store and share information such as URLs, text, or contact details. Did you know you can easily create QR codes using Python? In this tutorial, we'll explore how to generate QR codes step by step.

Why Use Python to Create QR Codes?

Python is a versatile programming language with a variety of libraries that make generating QR codes quick and easy. The most popular library for this task is qrcode. This library is simple to use and highly customizable, making it a great choice for both beginners and experienced developers.

Prerequisites

Before we start, ensure that you have Python installed on your system. If not, download and install Python from python.org.

You'll also need to install the qrcode library. You can do this by running:

pip install qrcode[pil]

The [pil] part ensures that the library uses the Python Imaging Library (Pillow) for better image handling.

Step 1: Import the Required Libraries

To start, we'll import the qrcode library and any other necessary modules.

import qrcode

Step 2: Create a Basic QR Code

Here's how to generate a simple QR code:

# Data to be encoded

data = "https://www.example.com"

 

# Create a QR Code object

qr = qrcode.QRCode(

    version=1,  # Controls the size of the QR Code (1 is the smallest)

    error_correction=qrcode.constants.ERROR_CORRECT_L,  # Error correction level

    box_size=10,  # Size of each box in the QR Code grid

    border=4,  # Thickness of the border (minimum is 4)

)

 

# Add data to the QR Code object

qr.add_data(data)

qr.make(fit=True)

 

# Create and save the QR Code image

img = qr.make_image(fill_color="black", back_color="white")

img.save("basic_qr_code.png")

Explanation:

1.    version: Determines the size of the QR code (1 to 40). Higher numbers allow more data.

2.    error_correction: Controls the error correction level (L, M, Q, H). Higher levels allow the QR code to be read even if parts are damaged.

3.    box_size: Specifies the pixel size of each box in the QR code.

4.    border: The width of the border around the QR code.

Running this code will generate a QR code and save it as basic_qr_code.png.

Step 3: Customize the QR Code

You can customize the QR code to match your design preferences, such as changing its colors.

Example: Custom Colors

# Create a QR Code with custom colors

data = "https://www.example.com"

 

qr = qrcode.QRCode(

    version=1,

    error_correction=qrcode.constants.ERROR_CORRECT_H,

    box_size=10,

    border=4,

)

 

qr.add_data(data)

qr.make(fit=True)

 

# Customizing the QR Code colors

img = qr.make_image(fill_color="blue", back_color="yellow")

img.save("custom_qr_code.png")

Output:

This code generates a QR code with a blue foreground and yellow background.

Step 4: Embedding QR Code in Applications

You can integrate QR code generation into your applications. For example, generating dynamic QR codes based on user input.

Example: QR Code Generator with User Input

# Generate a QR Code based on user input

data = input("Enter the data for the QR code: ")

 

qr = qrcode.QRCode(

    version=1,

    error_correction=qrcode.constants.ERROR_CORRECT_L,

    box_size=10,

    border=4,

)

 

qr.add_data(data)

qr.make(fit=True)

 

img = qr.make_image(fill_color="black", back_color="white")

 

# Save the image

file_name = input("Enter a file name to save the QR code (e.g., my_qr_code.png): ")

img.save(file_name)

print(f"QR code saved as {file_name}")

This script asks the user for input and generates a QR code dynamically.

Step 5: Adding Logos to QR Codes

You can add logos or images to the center of your QR code for branding purposes.

Example: QR Code with a Logo

from PIL import Image

 

# Generate the QR Code

qr = qrcode.QRCode(

    version=1,

    error_correction=qrcode.constants.ERROR_CORRECT_H,

    box_size=10,

    border=4,

)

 

qr.add_data("https://www.example.com")

qr.make(fit=True)

 

# Create the QR Code image

img = qr.make_image(fill_color="black", back_color="white").convert('RGB')

 

# Add a logo

logo = Image.open("logo.png")

 

# Resize the logo

logo_size = (60, 60)

logo = logo.resize(logo_size)

 

# Calculate position for the logo

pos = ((img.size[0] - logo.size[0]) // 2, (img.size[1] - logo.size[1]) // 2)

img.paste(logo, pos)

 

# Save the QR Code with the logo

img.save("qr_with_logo.png")

Make sure the logo.png file exists in the same directory as your script.

Conclusion

With Python and the qrcode library, you can create QR codes for a variety of use cases, from sharing URLs to embedding logos for branding. The library’s simplicity and flexibility make it an excellent choice for generating QR codes in Python. Experiment with the examples above, and feel free to customize your QR codes to suit your needs!

  


This will create a QR code image that encodes the data "https://www.example.com" and saves it to a file called "qr_code.png". You can adjust the parameters of the QRCode instance, such as the version, error correction level, and box size, to customize the appearance and performance of the QR code.

You can also use other libraries, such as pyqrcode or pyzxing, to generate QR codes in Python.

 

Post a Comment

0Comments
Post a Comment (0)