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