0
1

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

Posted at

はじめに

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コードを手軽に作成できるので、ぜひ試してみてください。質問やコメントがあれば、ぜひお寄せください!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1