自動化された生産ライン、物流管理、スーパーマーケットのシステムなど、日常の業務においてバーコードはデータの高速読み取りと追跡を可能にする重要な手段です。手動でデザインする方法に比べ、Pythonを使ってバーコード画像を生成することで、効率が大幅に向上し、大量処理にも対応できます。
本記事では、Pythonを使用してバーコードを生成する方法を紹介し、バーコードの種類やエンコードする内容、スタイルの設定、画像として保存する手順を実際のコードとともに解説します。
- Pythonで指定タイプのバーコード画像を生成
- 複数のバーコードを一括で生成
- 対応しているバーコードタイプの紹介
使用ライブラリ: [https://jp.e-iceblue.com/introduce/introduce-free-barcode-for-python.html)
インストールコマンド:pip install spire.barcode.free
Pythonで指定タイプのバーコードを生成する
このライブラリでは、Code 128 や UPC などさまざまなバーコードタイプを生成できます。ここでは、Code 128 を例に説明します。Code 128 は高密度な一次元バーコードで、ASCII 全文字に対応しており、在庫管理や配送番号のエンコードに最適です。
バーコードを生成する基本手順は以下の通りです:
- 必要なモジュールをインポート
-
BarcodeSettings()
オブジェクトでバーコードのタイプや内容を設定 -
BarCodeGenerator()
インスタンスで画像を生成 - PNG画像として保存
コード例:
from spire.barcode import BarcodeSettings, BarCodeType, BarCodeGenerator, Code128SetMode, FontStyle, Color
# バーコードの設定を初期化
settings = BarcodeSettings()
settings.Type = BarCodeType.Code128 # バーコードタイプの設定
settings.Data = "ABC123456789" # エンコードするデータ
settings.Code128SetMode = Code128SetMode.Auto # 自動文字セットを使用
settings.ShowTextOnBottom = True # 下部にテキストを表示
settings.BottomText = "Code 128 サンプル" # 下部テキストの設定
settings.SetTextFont("Arial", 12.0, FontStyle.Regular)
settings.ShowBottomText = True
settings.BackColor = Color.get_Beige() # 背景色を設定
# バーコード画像の生成
generator = BarCodeGenerator(settings)
barcode_image = generator.GenerateImage()
# PNG形式で保存
with open("output/code128.png", "wb") as f:
f.write(barcode_image)
複数のバーコードを一括生成する
商品や注文ごとに固有のバーコードを生成したい場合など、一度に多数のバーコードを作成する必要がある場面があります。以下の例では、ループ処理を使って複数のバーコードを一括生成する方法を紹介します。
from spire.barcode import BarcodeSettings, BarCodeType, BarCodeGenerator
# エンコード対象のデータリスト
barcode_list = ["ITEM001", "ITEM002", "ITEM003"]
# 各データに対してバーコードを生成
for data in barcode_list:
settings = BarcodeSettings()
settings.Type = BarCodeType.Code39 # 必要に応じて他のタイプに変更可
settings.Data = data
generator = BarCodeGenerator(settings)
barcode_image = generator.GenerateImage()
with open(f"output/{data}.png", "wb") as f:
f.write(barcode_image)
各データに対してPNG形式のバーコード画像が自動生成され、ファイル名も自動で付けられます。大量の識別ラベル作成などに最適です。
対応しているバーコードタイプ
Spire.Barcode for Python は、一次元バーコードから二次元コード、郵便コードまで幅広く対応しています。
- 一次元バーコード(1D):Code 128、Code 39、EAN-13、UPC-A、Codabar など
- 二次元コード(2D):QR Code、DataMatrix、PDF417、Aztec など
- 郵便コード・スタック型コード もサポート
詳細は公式ドキュメントをご確認ください。
このように、Pythonを使えばバーコード生成機能を柔軟にプロジェクトへ統合でき、バッチ処理、自動ラベル生成、個別カスタマイズに対応できます。小規模なスクリプトから大規模システムへの導入まで、Spire.Barcode for Python は高品質で使いやすいバーコードソリューションを提供します。