mcpField
B
barcode-generator

barcode-generator

github.com/dkyazzentwatwaその他12465 回インストール29 週間前に更新
リポジトリ

barcode-generator について

barcode-generator は、一般的な一次元バーコードを生成・検証する Python スキルとコマンドラインツールです。単一コードと CSV の一括処理に対応し、出力画像を調整できます。

主な機能

  1. 01Code128、EAN、UPC、ISBN などに対応
  2. 02PNG、SVG、PDF で出力
  3. 03サイズ、色、テキストの調整
  4. 04CSV からの一括生成
  5. 05形式検証とチェックデジット計算

活用シーン

  1. 01小売商品のラベル作成
  2. 02CSV からの在庫タグ生成
  3. 03書籍向け ISBN バーコードの作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dkyazzentwatwa/chatgpt-skills --skill barcode-generator

インストール後、Claude Code で/barcode-generatorを入力して読み込まれたか確認します。

同梱ファイルscripts/barcode_gen.pyscripts/requirements.txt

詳細

バーコードジェネレーター

小売、在庫管理、識別向けに、さまざまな形式のバーコードを生成します。1D バーコード(Code128、EAN、UPC)と、CSV からの一括生成に対応しています。

クイックスタート

from scripts.barcode_gen import BarcodeGenerator

# Generate barcode
gen = BarcodeGenerator()
gen.generate("123456789012", format="ean13", output="barcode.png")

# Code128 (variable length)
gen.generate("ABC-12345", format="code128", output="product.png")

# Batch from CSV
gen.batch_generate("products.csv", code_column="sku", output_dir="./barcodes")

機能

  • 複数の形式:Code128、EAN13、EAN8、UPC-A、Code39、ITF、ISBN
  • 出力形式:PNG、SVG、PDF
  • カスタマイズ:サイズ、色、テキストの表示
  • 一括生成:CSV ファイルから生成
  • 検証:チェックデジットの計算と検証

API リファレンス

基本的な生成
gen = BarcodeGenerator()

# Generate with auto-format detection
gen.generate("123456789012", output="barcode.png")

# Specific format
gen.generate("12345678", format="ean8", output="barcode.png")
カスタマイズ
gen.generate(
    "ABC123",
    format="code128",
    output="barcode.png",
    width=300,            # Image width
    height=150,           # Image height
    show_text=True,       # Show code below barcode
    font_size=12,         # Text size
    foreground="black",   # Bar color
    background="white"    # Background color
)
一括生成
# From CSV
gen.batch_generate(
    "products.csv",
    code_column="sku",
    format="code128",
    output_dir="./barcodes",
    filename_column="product_name"  # Use product name as filename
)

# From list
codes = ["ABC001", "ABC002", "ABC003"]
gen.batch_generate_list(codes, format="code128", output_dir="./barcodes")
検証
# Validate barcode format
is_valid = gen.validate("5901234123457", format="ean13")

# Calculate check digit
check = gen.calculate_check_digit("590123412345", format="ean13")
# Returns: 7

# Generate with auto check digit
gen.generate("590123412345", format="ean13", auto_check_digit=True)
出力形式
# PNG (default)
gen.generate("123", format="code128", output="barcode.png")

# SVG (vector)
gen.generate("123", format="code128", output="barcode.svg")

# PDF
gen.generate("123", format="code128", output="barcode.pdf")

CLI の使用方法

# Generate single barcode
python barcode_gen.py --code "123456789012" --format ean13 --output barcode.png

# Code128
python barcode_gen.py --code "ABC-12345" --format code128 --output product.png

# Custom size
python barcode_gen.py --code "12345" --format code39 --width 400 --height 200

# Batch from CSV
python barcode_gen.py --batch products.csv --column sku --format code128 --output-dir ./barcodes

# Validate
python barcode_gen.py --validate "5901234123457" --format ean13
CLI 引数
引数説明デフォルト
--codeエンコードするコード-
--formatバーコード形式code128
--output出力ファイル-
--width画像の幅300
--height画像の高さ150
--no-textコードのテキストを非表示にするFalse
--batch一括処理用の CSV ファイル-
--columnCSV 内のコード列code
--output-dir出力ディレクトリ.
--validateコードを検証する-

対応形式

形式長さ文字用途
code128可変ASCII汎用
ean1313数字小売商品
ean88数字小型商品
upca12数字米国の小売
code39可変A-Z、0-9、記号産業用途
itf偶数数字配送
isbn1313数字書籍
isbn1010数字 + X書籍(旧形式)

使用例

商品ラベル
gen = BarcodeGenerator()

gen.generate(
    "5901234123457",
    format="ean13",
    output="product_barcode.png",
    width=250,
    height=100,
    show_text=True
)
在庫タグ
gen = BarcodeGenerator()

inventory = [
    {"sku": "INV-001", "name": "Widget A"},
    {"sku": "INV-002", "name": "Widget B"},
    {"sku": "INV-003", "name": "Widget C"}
]

for item in inventory:
    gen.generate(
        item["sku"],
        format="code128",
        output=f"./tags/{item['name']}.png"
    )
書籍の ISBN
gen = BarcodeGenerator()

# ISBN-13 barcode
gen.generate(
    "9780134685991",
    format="isbn13",
    output="book_barcode.png"
)
商品ラベルの一括生成
gen = BarcodeGenerator()

# products.csv:
# sku,product_name,price
# 123456789012,Widget A,9.99
# 234567890123,Widget B,14.99

gen.batch_generate(
    "products.csv",
    code_column="sku",
    format="ean13",
    output_dir="./product_labels",
    filename_column="product_name"
)

チェックデジットの計算

ジェネレーターでは、チェックデジットを自動で計算して追加できます。

gen = BarcodeGenerator()

# EAN-13: 12 digits + 1 check digit
gen.generate("590123412345", format="ean13", auto_check_digit=True)
# Generates barcode for "5901234123457"

# Manually calculate
check = gen.calculate_check_digit("590123412345", format="ean13")
print(f"Check digit: {check}")  # 7

依存関係

python-barcode>=0.15.0
Pillow>=10.0.0

制限事項

  • 形式によっては、長さに厳格な要件があります
  • 文字は形式の仕様に一致している必要があります
  • PDF の出力には、追加のフォントが必要な場合があります
  • 非常に長いコードは、小さいサイズでは読み取りにくい場合があります

コメント