0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Pythonでバーコード画像を生成する方法

Posted at

自動化された生産ライン、物流管理、スーパーマーケットのシステムなど、日常の業務においてバーコードはデータの高速読み取りと追跡を可能にする重要な手段です。手動でデザインする方法に比べ、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 全文字に対応しており、在庫管理や配送番号のエンコードに最適です。

バーコードを生成する基本手順は以下の通りです:

  1. 必要なモジュールをインポート
  2. BarcodeSettings()オブジェクトでバーコードのタイプや内容を設定
  3. BarCodeGenerator()インスタンスで画像を生成
  4. 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)

生成されるイメージの一例:
Code128.png

複数のバーコードを一括生成する

商品や注文ごとに固有のバーコードを生成したい場合など、一度に多数のバーコードを作成する必要がある場面があります。以下の例では、ループ処理を使って複数のバーコードを一括生成する方法を紹介します。

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 は高品質で使いやすいバーコードソリューションを提供します。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?