前置き
メタップスアドベントカレンダー 5日目ということで投稿させていただきます。
RailsでITF規格のバーコードを作ろうとした話にて一度は断念したITF規格のバーコードの生成が可能だということを上司が発見してくれたので僭越ながら紹介させていただきます。
ITF規格のバーコードとは
ITFは、インターリーブド2of5(Interleaved Two of Five)の略で、主に段ボールに印刷されている物流商品コード用のバーコードとして利用されているコードです。
引用...ITF | バーコード講座 | キーエンス
余談にはなりますが、今回バーコードの生成にあたり沢山バーコードについて調べたのでその辺りの予備知識的なところが増え楽しかったです。
実装
Railsにおけるバーコード生成としてよく聞くBarby
を用いると驚くほど簡単に実装ができます。
gem "barby"
まずはgemをinstallします。
require "barby/barcode/code_25_interleaved"
def get_barcode
content = "0123456789"
xdim = 3
height = 150
barcode = Barby::Code25Interleaved.new(content)
barcode.to_image(xdim: xdim, height: height).to_data_url
end
注意
※ITF規格のbarcodeを生成する場合は、埋め込む値は偶数である必要があります。
最後に
方法を模索してる間、どれだけ調べても出てこずGitHubで全リポジトリにITF
で検索をかけたりしてましたw
ITFという略語に固執して「Barby
にITFはないか...」となっていたのが時期尚早でした。
Interleaved Two of Five
こっちで探す必要があったということですね。
これからも精進します。