バーコード(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)が一括生成されます。

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

この記事を書いた人

次男が高校ラグビー部での活動を終え、卒部を迎えました。これで、長男、次男ともに中学での野球部、高校でのラグビー部の活動が全て終わりました。9年間怪我をしながらも無事にやり切りました。小学校のソフトボールも入れると15年にもなりました。息子たちも大変でしたが、親も休日は部活動の送迎、応援、動画撮影、編集にと忙しくも楽しい時間を過ごすことができました。

目次
閉じる