こんにちは。今回はpythonでQRコードの作り方をご説明します。QRコードは「Quick Response」の頭文字でその名の通り高速での読み取りを目的として「デンソーウェーブ」が開発したマトリックス型二次元コードです。チラシなどに印字されていたり、最近ではQRコード型の電子マネーが普及していて目にすることの多いコードですね。今回はpythonを使用してそのQRコードを作成する方法をご紹介します。コードは非常に簡単ですのでぜひ活用してください。
基本コード
ではさっそくコードです。今回は”qrcode”を使用しますので、予めインストールしておいてください。
pip install qrcode
”qrcode”のインストールが終われば実行コードです。
import qrcode img = qrcode.make('ここにURLなど内容を入力') img.save('【保存場所を入力】.png')
たったこれだけでQRコードが保存場所に出力されます。
3行目は内容です。ご自身の用途によって変更してください。
4行目は保存場所です。拡張子は”png”です。リファレンスには載っていないかったですが、”jpg”でも保存可能でした。
詳しく設定する
設定できるパラメータ
- version
- error_correction
- box_size
- border
version
“version”はセルの数です。”version=1″で21×21セルのコードになります。”version=40″で177×177のセルのQRコードが作成されます。versionが高くなるほど多くの情報量を入れることが出来ます。versionを指定することで、最適なversionよりも大きいversionで作成することが出来ます。情報量が違う複数のコードを作成する場合にversionを指定することで全て同じversionでコードを作成することが出来ます。※指定したversionでは情報が入りきらない場合は作成できる最低versionに自動的に変更されます。
version=1で作成されたQRコード
version40で作成されたQRコード
error_correction
“error_correction”で「誤り訂正能力」を指定できます。
“qrcode.constants.ERROR_CORRECT_L”で約7%、
“qrcode.constants.ERROR_CORRECT_M”で約15%、
“qrcode.constants.ERROR_CORRECT_Q”で約25%、
“qrcode.constants.ERROR_CORRECT_H”で約30%です。
数値が高いほど「誤り訂正能力」が高くなりますが、その分データ量は多くなり、出力サイズも大きくなります。
デフォルト値は”qrcode.constants.ERROR_CORRECT_M”です。
box_size
“box_size”は各セルの大きさです。”version”と”box_size”で出力させるQRコードのサイズが決まります。デフォルト値は”10″です。
border
“border”は余白です。最小値は”4″でデフォルト値も”4″です。
色の指定
各セルの色と背景の色もカラーコードで指定して保存出来ます。
パラメータと色を指定したサンプルコード
import qrcode qr = qrcode.QRCode(version=1,error_correction=qrcode.constants.ERROR_CORRECT_H,box_size=10,border=6) qr.add_data('株式会社FROMATION') qr.make() img = qr.make_image(fill_color="#000000", back_color="#FF8C00") img.save('sample.png')
まとめ
いかがでしたでしょうか?今回はpythonでQRコードを作るコードを紹介しました。QRコードの使用頻度はそこそこ高いとおもいます。1つのコードを作るだけならWEBサービスで簡単に作れるのでわざわざpythonで作る必要はないかもしれません。pythonをしようすることで複数のコードをそれぞれ違った内容を作成できるようになるのでチラシなどでエリアごとにコードを変えたり、アクセス解析用のパラメータをそれぞれに入れたりと活用の幅が広がるので是非参考にして下さい。
業務支援ツールの製作を致します
株式会社FROMATIONではお客様の用途に合わせたオリジナルの業務支援(自動化)ツールを製作しております。
【毎日の10分を1秒に】
をコンセプトに、お客様の用途に特化したピンポイントな自動化ツールをご提供致します。「大手のRPAソフトを導入するまでもない日常ちょっとした手間」「毎日のルーチンワーク」など、簡単なツールで驚くほど業務が改善する場合もあります。
【毎日こんな作業で困ってるんだけど】
【こんなツール作れないかな】
など企業様も個人様もお気軽にお問い合わせください。
出来ることの一例
- webからのデータ収集
- Excelと連携したデータ処理
- メールの受信と自動返信
- データの自動アップロード
- 画像や音声データの編集・変換処
- 各種SNSの自動処理
上記以外にも出来ることは多数ありますので、お気軽にお問合せ下さい。