バーコード(JAN)の一括生成のPythonスクリプト

バーコード(JAN)画像を一括で生成できるPythonスクリプトを作りました。
Windows 10 Pro Anaconda3 python 3.6.5 で動作確認。

目次

ソース

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import csv,barcode
from barcode.writer import ImageWriter

# csvの読み込み
with open(u'barcode_base.csv', "r") as f:

    # csvから内容を一括で取り出す
    reader = csv.reader(f)

    # 1行ずつ取り出す
    for row in reader:
        # JANコード画像の生成
        jan = barcode.get('jan', row[1], writer=ImageWriter())
        # JANコード画像の保存
        filename = jan.save(row[0],options={
            'module_height':43.85,
            'module_width':0.675,
            'font_size':40,
            'text_distance':1.5,
            'font_path':'C:\\users\\hogehoge\\appdata\\local\\microsoft\\windows\\fonts\\ocrb.ttf'
            })

利用するPythonモジュール

python-barcode 0.13.1 を利用

バーコード画像のサイズ等の調整は、下記のパラメータを利用
python-barcode Writer — python-barcode 0.13.1 documentation

module_width:    The width of one barcode module in mm as float. Defaults to 0.2.
module_height:    The height of the barcode modules in mm as float. Defaults to 15.0.
quiet_zone:    Distance on the left and on the right from the border to the first (last) barcode module in mm as float. Defaults to 6.5.
font_path:    Path to the font file to be used. Defaults to DejaVuSansMono (which is bundled with this package).
font_size:    Font size of the text under the barcode in pt as integer. Defaults to 10.
text_distance:    Distance between the barcode and the text under it in mm as float. Defaults to 5.0.
background:    The background color of the created barcode as string. Defaults to white.

利用方法

1行に「ファイル名」「バーコード用の数字」の2つのセルのある csvファイルを用意します。ファイル名はbarcode_base.csv

商品名 001,4573550690015 
商品名 002,4573550690022 
商品名 003,4573550690039 
商品名 004,4573550690046 
商品名 005,4573550690053 
商品名 006,4573550690060 
商品名 007,4573550690084 
商品名 008,4573550690077 
商品名 009,4573550690091 
商品名 010,4573550690107 
商品名 011,4573550690114 
商品名 012,4573550690121 
商品名 013,4573550690138 
商品名 014,4573550690145 
商品名 015,4573550690152 
商品名 016,4573550690169 
商品名 017,4573550690176 
商品名 018,4573550690183 

上記のbarcode_base.csvがあるフォルダ内で、barcode_generate.pyを実行します。

> python ./barcode_generate.py

下記のようなフォーマットのバーコード(JAN)が一括生成されます。

よかったらシェアしてね!

この記事を書いた人

まん延防止等重点措置の適用のため、次男のラグビー部の応援に行くことも難しくなりました。再び、応援に行けるように、感染対策に努めます。

目次
閉じる