チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Python»Spire.Barcode for Python»Python で QR コードを生成・読み取りする方法
2025-05-15

Python で QR コードを生成・読み取りする方法

QR コードは、URL や連絡先、決済情報など、さまざまな情報を格納できる 2 次元バーコードの一種です。デジタルコンテンツに素早く簡単にアクセスできるため、QR コードは現代のテクノロジー社会において非常に便利なツールとして広く利用されています。

この記事では、Spire.Barcode for Python を使用して、Python で QR コードを生成および読み取る方法をご紹介します。

Spire.Barcode for Python のインストール

Spire.Barcode for Python は、以下の pip コマンドでインストールできます:

pip install spire.barcode

軽量な処理であれば、無償版の Free Spire.Barcode for Python も利用可能です。こちらは次のコマンドでインストールできます:

pip install spire.barcode.free

Python で QR コードを生成する

Spire.Barcode for Python では、BarcodeSettings クラスを使用してバーコード生成に関する各種設定を行うことができます。設定項目には、バーコードの種類、エンコードするデータ、色、余白、解像度(水平および垂直)などが含まれます。

必要な設定を構成したら、それに基づいて BarcodeGenerator インスタンスを作成し、GenerateImage() メソッドを呼び出すことで QR コード画像を生成できます。

Python で QR コードを生成する手順は以下のとおりです:

  • BarcodeSettings オブジェクトを作成します。
  • BarcodeSettings.Type プロパティでバーコードの種類を QR コードに設定します。
  • BarcodeSettings.Data2D プロパティを使用して、QR コードにエンコードするデータを設定します。
  • その他の属性(色、余白など)を BarcodeSettings のプロパティで設定します。
  • 設定に基づいて BarcodeGenerator オブジェクトを作成します。
  • BarcodeGenerator.GenerateImage() メソッドを呼び出して QR コード画像を生成します。
  • Python
from spire.barcode import *

# すべてのバイトをファイルに書き込む
def WriteAllBytes(fname: str, data):
    with open(fname, "wb") as fp:
        fp.write(data)
    fp.close()

# ライセンスキーを適用
License.SetLicenseKey("ライセンスキー")

# BarcodeSettings オブジェクトを作成
barcodeSettings = BarcodeSettings()

# バーコードの種類をQRコードに設定
barcodeSettings.Type = BarCodeType.QRCode

# 2次元バーコードのデータを設定
barcodeSettings.Data2D = "Hello, World"

# 余白を設定
barcodeSettings.LeftMargin = 0.2
barcodeSettings.RightMargin = 0.2
barcodeSettings.TopMargin = 0.2
barcodeSettings.BottomMargin = 0.2

# 水平解像度を設定
barcodeSettings.DpiX = 500

# 垂直解像度を設定
barcodeSettings.DpiY = 500

# 誤り訂正レベルを設定
barcodeSettings.QRCodeECL = QRCodeECL.M

# バーコード上にテキストを表示しない
barcodeSettings.ShowText = False

# QRコードの中央にロゴを追加
barcodeSettings.SetQRCodeLogoImage("logo.png")

# 指定した設定で BarCodeGenerator のインスタンスを作成
barCodeGenerator = BarCodeGenerator(barcodeSettings)

# バーコードの画像を生成
image = barCodeGenerator.GenerateImage()

# PNG画像をディスクに書き込む
WriteAllBytes("output/QRCode.png", image)

生成されたQRコード:

Spire.Barcodeを使用してPythonコードで生成されたカスタムQRコード

Python で QR コード画像を読み取る

Spire.Barcode は、バーコード画像の認識を担当する BarcodeScanner クラスを提供しています。このクラスには、バーコードからデータを抽出するための複数のメソッドが用意されています:

  • ScanOneFile():1 つのバーコード画像ファイルを読み取り、抽出したデータを返します。
  • ScanFile():指定した画像ファイル内のすべてのバーコードをスキャンし、抽出されたデータを返します。
  • ScanStream():画像データのストリームからバーコードを読み取り、情報を抽出します。

以下のコードは、QR コード画像をスキャンする方法を示しています。

  • Python
from spire.barcode import *

# ライセンスキーを適用
License.SetLicenseKey("ライセンスキー")

# 1つのバーコードを含む画像ファイルをスキャン
result = BarcodeScanner.ScanOneFile("output/QRCode.png")

# 複数のバーコードを含む画像ファイルをスキャン
# results = BarcodeScanner.ScanFile("output/Image.png")

# 結果を出力
print(result)

スキャンの結果:

PythonとSpire.Barcodeを使ったQRコードスキャン結果

すべての機能を試すには

Spire.Barcode for Python のすべての機能を体験したい場合は、弊社このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。までご連絡のうえ、30 日間有効な一時ライセンスをお申し込みください。

Read 97 times