ソースに絡まるエスカルゴ

貧弱プログラマの外部記憶装置です。

【python】pythonでQRコード画像を作成する

 最近ふと「pythonQRコード画像を作成できるのか」というのが気になったので少し調べたところ、ライブラリが存在し簡単に作成できることがわかりました。

 今回はその備忘録となります。


 では、始めます。


1:QRコード作成ライブラリのインストール
 pythonQRコードライブラリは以下のpipコマンドでインストールできます。

pip install qrcode

 ちゃんとインストールできているかは、pythonを起動させて「import qrcode」を実行して確認します。エラーが出ていなければちゃんとインストールできています。

$ python
Python 3.10.8 (tags/v3.10.8:aaaf517, Oct 11 2022, 16:50:30) [MSC v.1933 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import qrcode
>>>

 ちなみにこのライブラリはQRコードを発明したデンソーさん自らが作成しているため、最も信頼できるQRコードのライブラリとなります。


2:QRコード作成サンプル
 ライブラリがインストールできたので実際にQRコード画像を作成してみます。

 やり方は簡単で以下のようにすれば作成できます。

・qrcode_test.py

# -*- coding: utf-8 -*-
import qrcode

def create_qr():
  # QRコード画像作成
  qr = qrcode.QRCode(border=1)
  qr.add_data("https://google.co.jp/")
  qr.make()

  # 画像として保存
  img = qr.make_image()
  img.save("./qr_code.png")

if __name__ == '__main__':
  create_qr()

 上記のコードを実行すると、同じ階層に「qr_code.png」という画像が生成されます。
 生成されたQRコードを読み取ると、Googleのトップページが表示されます。

 この他にも引数の設定などがありますが、詳しくは参考資料のページ様を参照してください。


おまけ:QRコードのバージョンについて
 QRコードにはバージョンというものが存在します。バージョンの値が高くなればなるほど1つのQRコード内に含められるデータは多くなりますが、その分ドット部分が細かくなりカメラの性能などによっては読み取りにくくなっていきます。
 そんなバージョンの詳細については以下のデンソーさん公式のページにまとめられているので、これに従って適切なバージョンでQRコードを作成することになります。


 以上がpythonQRコード画像を作成する方法になります。

 かなり簡単かつ公式ライブラリなので安心して使えると思います。


・参考資料