👨‍💻

Pythonで簡単に2次元バーコード(QRコード)を作成する方法

2024/12/04に公開

はじめに

QRコードは、日常生活でよく見かける便利なツールです。この記事では、Pythonを使って簡単にQRコードを生成する方法を紹介します。QRコードを生成するために、qrcodeライブラリを使用します。このライブラリはシンプルで使いやすく、わずかなコードでQRコードを作成できます。

必要なライブラリのインストール

まず、QRコードを生成するために必要なライブラリをインストールします。qrcodeライブラリと、画像を扱うためにpillowライブラリをインストールします。ターミナル(またはコマンドプロンプト)で以下のコマンドを実行してください。

pip install qrcode[pil]

QRコードを生成するPythonコード

ライブラリのインストールが完了したら、実際にQRコードを生成するためのコードを書きます。以下のコードを使ってQRコードを生成し、画像として保存します。

import qrcode
from PIL import Image

# QRコードに含めるデータを指定します
data = "https://www.example.com"

# QRコードを生成します
qr = qrcode.QRCode(
    version=1,  # バージョンはQRコードのサイズを指定します(1から40まで)
    error_correction=qrcode.constants.ERROR_CORRECT_L,  # エラー修正レベル(L, M, Q, H)
    box_size=10,  # QRコードの各ボックス(ドット)のサイズ
    border=4,  # QRコードの境界の幅
)

# データをQRコードに追加します
qr.add_data(data)
qr.make(fit=True)

# QRコードの画像を生成します
img = qr.make_image(fill='black', back_color='white')

# QRコードの画像を保存します
img.save("qrcode.png")

# 画像を表示します
img.show()

#コードの説明

インポート

import qrcode
from PIL import Image

まず、qrcodeライブラリと画像処理のためのPIL(Python Imaging Library)をインポートします。

データの設定

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

QRコードに含めたいデータ(この場合はURL)を設定します。

QRコードの生成

qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    box_size=10,
    border=4,
)

ここでは、QRコードのバージョン、エラー修正レベル、各ボックスのサイズ、境界の幅を設定しています。

  • version: QRコードのバージョンを指定します。バージョンが高いほどQRコードのサイズが大きくなり、より多くのデータを含むことができます(1から40まで)。
  • error_correction: エラー修正レベルを指定します。エラー修正レベルが高いほど、QRコードの一部が破損しても読み取れる可能性が高くなります。
    • qrcode.constants.ERROR_CORRECT_L: 7%のエラー修正
    • qrcode.constants.ERROR_CORRECT_M: 15%のエラー修正
    • qrcode.constants.ERROR_CORRECT_Q: 25%のエラー修正
    • qrcode.constants.ERROR_CORRECT_H: 30%のエラー修正
  • box_size: QRコードの各ボックス(ドット)のサイズを指定します。
  • border: QRコードの周りの余白の幅を指定します。

データの追加とQRコードの生成

qr.add_data(data)
qr.make(fit=True)

データをQRコードに追加し、最適なサイズに調整します。

QRコード画像の生成と保存

img = qr.make_image(fill='black', back_color='white')
img.save("qrcode.png")

QRコードの画像を生成し、指定した名前で保存します。

画像の表示

img.show()

生成されたQRコード画像を表示します。

スクリーンショット 2024-07-24 16.45.31.png

まとめ

以上のコードを使って、簡単にQRコードを生成することができます。Pythonとqrcodeライブラリを活用すれば、様々な用途に合わせたQRコードを手軽に作成できるので、ぜひ試してみてください。質問やコメントがあれば、ぜひお寄せください!

Discussion