Python で QRコードを6パターン生成してみた(qrcode版)

このページでは、Python の qrcode ライブラリを使用して QRコードの画像を6パターン生成し、スマホで読み取った結果をまとめたものになります。

QRコードには、電話番号やメールアドレスも含められるようだったので、個人的に使いそうな6パターンを考えて試してみました。
※技術的な内容については、他のサイト等を参照してください。

QRコードや qrcode ライブラリについては、以下のサイトで解説されています。

 【デンソーウェーブ】QRコードとは
  https://www.denso-wave.com/ja/system/qr/fundamental/qrcode/qrc/
 【QRコードドットコム】QRコードとは?
  https://www.qrcode.com/about/
 PyPI】qrcode ライブラリ
  https://pypi.org/project/qrcode/

サンプルパターン

今回は、以下の6パータンの QRコードの画像を作成し、スマホで読み取ってどういう動作をするか試してみました。

 ① 半角英数字のテキスト
 ② 半角+全角文字のテキスト
 ③ 電話番号(tel:~)
 ④ メールアドレス(mailto:~ 送信先)
 ⑤ URL(https://~ このサイト)
 ⑥ URL(https://~ Google Map 東京スカイツリー)


スマホの機種やOSのバージョンによっても動作が変わるかと思いますので、ご了承ください。
今回は、Android のスマホでの動作確認になります。
サンプルを実行される場合は、③の電話番号、④のメールアドレスを変更してください。

以下、QRコードを生成するプロラムになります。
生成される QRコードの種類は、5~10 行目の「qrText」の部分のコメント部分で切り替えてください。
また、qrcode ライブラリは、以下のコマンド等でインストールしておいてください。

 コマンド:pip install qrcode

# qrcode ライブラリを使った QRコードの生成
import qrcode

# QRコードに埋め込むテキストサンプル
qrText = "QR Code Sample1"                 # 半角英数テキスト
#qrText = "QRコードの全角サンプル"           # 半角+全角テキスト
#qrText = "tel:00000000000"                # 電話番号
#qrText = "mailto:実際のメールアドレスを指定" # メールアドレス(送信先)
#qrText = "https://note.motnote.com/"      # URL
#qrText = "https://maps.app.goo.gl/rdLhvs72E4djv2qU7" # Google Map

# 出力する QRコード画像
qrImage = "QRコード.png"

# QRコードオブジェクトを作成
qr = qrcode.QRCode(version=1, box_size=5, border=2)

# QRコードを生成
qr.add_data(qrText)
qr.make(fit=True)

# QRコードの画像を生成
img = qr.make_image(fill_color="black", back_color="white")

# QRコード画像をファイルに保存
img.save(qrImage)

以下のコマンドを実行すると、QRコードの画像ファイル「QRコード.png」が出力されます。
※実行方法は、Python の実行環境によって異なると思いますので、適宜、読み替えてください。

 実行コマンド:python make_qrcode.py

読み取り結果

出力された QRコードのファイルスマホで読み取ったところ、以下のような動作になりました。
※使用するスマホの設定によって、動作は異なるかと思います。

 ① 半角英数字のテキスト
 ② 半角+全角文字のテキスト
  QRコードのテキストが「Google の検索サイト(アプリ)」で入力された 状態で表示された。

 ③ 電話番号(tel:~)
  QRコードの電話番号が「電話アプリ」で入力された状態で表示された。

QRコードの読み取り結果1
QRコードの読み取り結果1

 ④ メールアドレス(mailto:~ 送信先)
  QRコードのメールアドレスが「メールアプリの宛先」に入力された状態で表示された。

 ⑤ URL(https://~ このサイト)
  QRコードのURLが「ブラウザ」で表示された。

 ⑥ URL(https://~ Google Map 東京スカイツリー)
  QRコードのURLが「Google Map アプリ」で表示された。

QRコードの読み取り結果2
QRコードの読み取り結果2

スマホアプリ等で独自の処理を行いたい場合は、QRコードに処理別のID等を設定したり、WEBサーバー側で処理を行う場合は、URLのパラメータで処理を分けるような実装すれば良いようです。

今回、QRコードやバーコードを WEBカメラで読み取る処理を試したのですが、精度があまり良くなかったため、説明は省かせていただきました。

— おわり —

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です