11
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

metapsAdvent Calendar 2022

Day 5

RailsでITF規格のバーコードを生成する方法

Posted at

前置き

メタップスアドベントカレンダー 5日目ということで投稿させていただきます。
RailsでITF規格のバーコードを作ろうとした話にて一度は断念したITF規格のバーコードの生成が可能だということを上司が発見してくれたので僭越ながら紹介させていただきます。

ITF規格のバーコードとは

ITFは、インターリーブド2of5(Interleaved Two of Five)の略で、主に段ボールに印刷されている物流商品コード用のバーコードとして利用されているコードです。
引用...ITF | バーコード講座 | キーエンス

余談にはなりますが、今回バーコードの生成にあたり沢山バーコードについて調べたのでその辺りの予備知識的なところが増え楽しかったです。

実装

Railsにおけるバーコード生成としてよく聞くBarbyを用いると驚くほど簡単に実装ができます。

Gemfile
gem "barby"

まずはgemをinstallします。

barcode.rb
    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

出力結果
qiita_barcode.png

読み取り結果
E1E6216B-6BF9-44A3-9485-60221FFE3172.jpg

注意

※ITF規格のbarcodeを生成する場合は、埋め込む値は偶数である必要があります。

最後に

方法を模索してる間、どれだけ調べても出てこずGitHubで全リポジトリにITFで検索をかけたりしてましたw
ITFという略語に固執して「BarbyにITFはないか...」となっていたのが時期尚早でした。
Interleaved Two of Fiveこっちで探す必要があったということですね。
これからも精進します。

11
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?