Pythonでバーコードを作成する

バーコードリーダーではなく、バーコードの画像を作成する方法です。EANコード(JANコード)を作成してみます。

必要なライブラリはhuBarcode。現時点でのバージョンは0.57です。easy_installでもインストールできます。

実はこのhuBarcodeにちょっと問題があって、インストールしたままでは利用できませんでした。

  1. site-packages/hubarcode-0.57-py2.5.egg/ean13/__init__.pyと
    site-packages/hubarcode-0.57-py2.5.egg/ean13/renderer.pyの
    「from functools import reduce」をコメントアウト。
  2. fontsフォルダ(WindowsのFontフォルダではなく、huBarcodeについているもの)site-packagesの下に配置。easy_installの場合は不明だが、ソースからのインストールの場合は手動で配置する必要があった。

「from functools import reduce」はPython3からの記述方法なのかな?Python2.5の環境では動きませんでした。

ここまでが前準備。やっとコーディングに入れます。

from ean13 import EAN13Encoder

_barcode = EAN13Encoder(‘123456789012’)
_barcode.save(“sample.png”)

コーディングは簡単。これだけでバーコードのpng画像が作成されます。EANは13桁ですが、最後の一桁はチェックサムなので、指定できるのは12桁までです。

どっちかっていうと二次元コードの方がニーズがあるだろうから、そっちも調査してみます。