How to generate QR Code in Python using PyQRCode
In this article, you will learn how to generate QR code in Python. Python has different libraries to generate QR code, like - qrcode, PyQRCode, PyQRCodeNG, qrcodegen, Sengo. Each library has their own advantages.
In this article, we have used the PyQRCode library to generate QRCode and also mentioned some advanced features of this library along with basic feature.
The PyQRCode library is very simple and easy to implement. This can be encoded any kind of data like - binary, alphanumeric, kanji symbols and can be saved as SVG, PNG and plain text. This module supports in Python 2.6, Python 2.7, or Python 3.
PyQRCode Module Installation
Here, we have installed pyqrcode with pip using the following command-
(env) c:\python37\Scripts\projects>pip install pyqrcode
On successful installation, it returns something like this -
Successfully built pyqrcode Installing collected packages: pyqrcode Successfully installed pyqrcode-1.2.1
Generate QRCode of simple string
We have written the simple python code to generate the QRCode of a string url. At first, we have imported the pyqrcode module and use the create() method to generate the code.Syntax of QRCode create() method -
pyqrcode.create(content, error='H', version=None, mode=None, encoding=None)
Here, only the content is required, all the other properties of the code are optional. In the given example, we have passed the string as an argument to this method and used the svg() method to store in svg file format.
# Import QRCode from pyqrcode import pyqrcode from pyqrcode import QRCode # URL string site = "www.etutorialspoint.com" # Generate QR code getqrcode = pyqrcode.create(site) # save in svg file format getqrcode.svg("qrcode.svg", scale = 10)
When, you execute the above file, it will generate and save the file in your project directory. The generated file looks something like this -
PyQRCode Optional Advanced Features
The above example was very simple and used for the basic requirement. In this section, we have mentioned some advanced optional features of PyQRCode module.
PyQRCode Create() method
The create() method has some optional attributes in addition to the required content attribute. These attributes need when we want more controls over the generating QRCode.
.create(content, error='h', version=None, encoding=None)
error - The error sets the error level correction. The error level is represented as L, M, Q, H and can correct up to 7, 15, 25, 30 percent of the data respectively. By default, it is set to 'H', highest possible error correction.
version - It specifies the data size and the capacity of the code. It is an integer value between 1 to 40, where 1 is the smallest and 40 is the highest QR Code value.
encoding - It sets the content encoding type. By default, the object uses more efficient encoding of the contents.
# Import QRCode from pyqrcode import pyqrcode from pyqrcode import QRCode # URL string site = "www.etutorialspoint.com" # Generate QR code getqrcode = pyqrcode.create(site, error='H', version=20, mode='binary') # save in svg file format getqrcode.svg("qr.svg", scale = 4)
Create QRCode image in png format
Python provides pypng library to read and write on png file images. If, we want to save the generated qrcode in png file, we will have to install this library, otherwise it returns error something like - 'no module named png'.
Run the following command to install 'pypng' with pip -
(env) c:\python37\Scripts\projects>pip install pypng
Here is the code to generate qrcode and save in png file. We have changed the ratio of the size and background color using scale and background attributes.
# Import QRCode from pyqrcode import pyqrcode from pyqrcode import QRCode # URL string site = "www.etutorialspoint.com" # Generate QR code getqrcode = pyqrcode.create(site, error='H', version=20, mode='binary') # save in png file format getqrcode.png('siteQR.png', scale=2, background=[0x00, 0xff, 0xbf])
The above code generated the qrcode like this -
Related ArticlesPHP array length
Import Excel File into MySQL Database using PHP
PHP String Contains
PHP remove last character from string
PHP random quote generator
PHP IMAP to read email inbox
How to save emoji in MySQL
Preventing Cross Site Request Forgeries(CSRF) in PHP
PHP code to send email using SMTP
Simple pagination in PHP
Simple PHP File Cache
PHP Connection and File Handling on FTP Server
Sending form data to an email using PHP