見出し画像

PythonでサクッとQRコード作り

WebサイトからQRコードを作成することもできますが、Pythonを使えばコマンドラインやコード記述で簡単に作成できます。

今回ご紹介する内容は、私が資料に貼り付けるQRコードを一気に作るため作成した内容の一部です。もしどなたかのためになれば何よりです。Pythonを使ってQRコードを生成する方法を、備忘録として残します。


■必要なモジュール

QRコード生成には、qrcodeモジュールが必要です。以下のコマンドでインストールできます。

pip install qrcode

■コマンドプロンプトから生成

qrcodeモジュールをインストールされている場合、コマンドラインからQRコードを作れます。ちょっと作りたいだけなら、この方法が手っ取り早いです。

記述方法 : qr "QRコードにしたい文字列" > ファイル名

コマンドプロンプトの開き方:[Win + R] → "cmd"
qr "https://note.com/info/" > qrcode.png

※コマンド実行前に『 cd %USERPROFILE%\desktop 』と入力し、ディレクトリを移動しておくと、デスクトップ上にQRコードが保存されます。

完成したQRコード

◆Pythonで記述する場合

より細かい設定やデザインをしたい場合は、Pythonコードで生成できます。

基本的なコード

import qrcode

img = qrcode.make('QRコードにしたい文字列')  #
img.save("QRコード.png")  #pngファイルに保存


描画色、背景色、外枠の変更

qrcodeモジュールには、QRコードのデザインを調整するためのオプションが用意されています。

文字による色指定

import qrcode

qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_L,
    box_size=10,
    border=4,
)
#box_size : ドット1つぶんのサイズ
#border : 外枠のサイズ

qr.add_data('https://note.com/info/')  #データ追加
qr.make(fit=True)   #QR作成 img = qr.make_image(fill_color="blue", back_color="white")  #描画色と背景色 文字で変更
# black white blue red green pinkなどなど

img.save("qrcode.png")
ill_color="blue", back_color="white"

RGBによる色指定

import qrcode

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

qr.add_data('https://note.com/info/')  #データ追加
qr.make(fit=True)   #QR作成 img = qr.make_image(fill_color=(255, 0, 0), back_color=(0, 0, 255))  #描画色と背景色 RGB指定
img.save("qrcode.png")
fill_color=(255, 0, 0), back_color=(0, 0, 255)


◆リストからQRコードを大量生産する

QRコードにしたい文字を書いたテキストファイルから、一気にQRコードを作成するサンプルです。たくさん作らないといけないときに使えます。

用意するもの:
QRList.txt (QRコードにしたい文字列を書いたもの)

https://note.com/info/
https://note.com/info/1
https://note.com/info/2
  …
https://note.com/info/99

例:QRList.txtの中身
import qrcode

#ファイル読み込み
with open("QRList.txt",mode="r",encoding="utf-8") as f:
    qrlists = f.readlines()

#リストからQR生成
for i, qr in enumerate(qrlists):
    img = qrcode.make(qr)
    img.save(f"qrcode_{i:0{3}d}.png")

結果は『qrcode_000.png ・・・ qrcode_099.png 』の100個QRコードが、一気に出来上がります。
うっかりデスクトップでプログラムを起動させると、大変なことになります。

一気に100個作った結果


さらに詳しく

qrcodeモジュールには、他にも様々なオプションがあります。詳細は以下の公式ドキュメントを参照してください。


この記事が気に入ったらサポートをしてみませんか?