0
0

Pythonで1次元および2次元バーコードを生成する(EAN-13、Code128、QRコードなど)

Posted at

バーコードは、現代の情報交換やデータ保存のための重要なツールです。機械認識やデータ処理を容易にするために、情報をグラフィックの形で符号化し、物流、小売、医療、教育など様々な分野で広く利用されています。

この記事では、PythonでCode 128、EAN-13、QRコードなど、さまざまな一般的なバーコードをすばやく生成する方法を紹介します。

Pythonバーコードライブラリ

この記事では、EAN、UPC、Code128、Code39、QRコード、データマトリックスなど、幅広い1Dおよび2Dバーコードの生成と認識をサポートするSpire.Barcode for Pythonライブラリを使用する必要があります。さらに、このライブラリは、バーコード画像のボーダースタイル、色、マージン、その他の属性をカスタマイズするための豊富なインターフェイスを提供します。
Python Barcode Generatorライブラリは、pip経由で簡単にインストールできます:
pip install Spire.Barcode

コア・クラスと使用メソッド

バーコードの作成に使用される主なクラス、プロパティ、およびメソッドは次のとおりです:

1. BarcodeSettings クラス:バーコード生成設定に使用。バーコードタイプ、データ、背景色、幅、高さ、マージン、解像度などの設定をサポートします。
2. BarcodeSettings.Type プロパティ:バーコードタイプを設定します。
3. BarcodeSettings.Data プロパティ:バーコードデータを設定します。
4. BarcodeSettings.Data2D プロパティ: 2次元コードのテキストを設定します。
5. BarcodeGenerator クラス: バーコードのレンダリングに使用します。
6. BarcodeGenerator.GenerateImage() メソッド:バーコードイメージを生成するために使用します。

:point_down:

バーコードを生成する Python のサンプルコードを以下に示します

PythonでEAN-13コードを生成する

from spire.barcode import *

def WriteAllBytes(fname: str, data):
    with open(fname, "wb") as fp:
        fp.write(data)
    fp.close()

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

# バーコードタイプをEAN13に設定する
barcodeSettings.Type = BarCodeType.EAN13

# セット・バーコード・データ
barcodeSettings.Data = "5019632805254"

# BarCodeGeneratorオブジェクトの作成
barCodeGenerator = BarCodeGenerator(barcodeSettings)

# バーコード画像の生成
barcodeimage = barCodeGenerator.GenerateImage()
WriteAllBytes("EAN13.png", barcodeimage)

生成されたバーコード画像:

EAN13.png

PythonでCode128を生成する

from spire.barcode import *

def WriteAllBytes(fname: str, data):
    with open(fname, "wb") as fp:
        fp.write(data)
    fp.close()

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

# バーコードタイプをCode128に設定する
barcodeSettings.Type = BarCodeType.Code128

# セット・バーコード・データ
barcodeSettings.Data = "XD00555"

# Code128コードセットの設定
barcodeSettings.Code128SetMode = Code128SetMode.Auto

# BarCodeGeneratorオブジェクトの作成
barCodeGenerator = BarCodeGenerator(barcodeSettings)

# バーコード画像の生成
barcodeimage = barCodeGenerator.GenerateImage()
WriteAllBytes("Code128.png", barcodeimage)

生成されたバーコード画像:
Code128.png

PythonでQRコードを生成する

from spire.barcode import *

def WriteAllBytes(fname:str,data):
    fp = open(fname,"wb")
    fp.write(data)
    fp.close()

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

# バーコードタイプをQRコードに設定
barcodeSettings.Type = BarCodeType.QRCode

# 背景色の設定
barcodeSettings.BackColor = Color.get_WhiteSmoke()

# QRコードのエンコードモードの設定
barcodeSettings.QRCodeDataMode = QRCodeDataMode.Byte

# エラー訂正レベル(ECL)の設定
barcodeSettings.QRCodeECL = QRCodeECL.M

# QRコードの下部にテキストを表示するかどうかを設定します
barcodeSettings.ShowTextOnBottom = True

# 解像度の設定
barcodeSettings.DpiX = 500
barcodeSettings.DpiY = 500

# QRコードデータの設定
barcodeSettings.Data2D = "Hello, World"

# BarCodeGeneratorオブジェクトの作成
barCodeGenerator = BarCodeGenerator(barcodeSettings)

# QRコード画像の生成
barcodeimage = barCodeGenerator.GenerateImage()
WriteAllBytes("QRCode.png", barcodeimage)

生成されたバーコード画像:
QRCode.png


0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0