QR コードは、URL や連絡先、決済情報など、さまざまな情報を格納できる 2 次元バーコードの一種です。デジタルコンテンツに素早く簡単にアクセスできるため、QR コードは現代のテクノロジー社会において非常に便利なツールとして広く利用されています。 この記事では、Spire.Barcode for Python を使用して、Python で QR コードを生成および読み取る方法をご紹介します。 Python で QR コードを生成する 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コード: 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) スキャンの結果: すべての機能を試すには Spire.Barcode for Python のすべての機能を体験したい場合は、弊社このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 までご連絡のうえ、30 日間有効な一時ライセンスをお申し込みください。