私はバーコードが好きだ。それも、JAN-13/EAN-13形式限定で。理由はいくつかあるが、4種の太さのバーを4種の間隔に置くと13桁の数字を表現でき、それが世界中の企業や製品名とリンクしている、という情報量の少なさに比べたときの表現力の大きさに尽きる。バーの太さが重要な情報となるため、高い印刷精度...
私はバーコードが好きだ。それも、JAN-13/EAN-13形式限定で。理由はいくつかあるが、4種の太さのバーを4種の間隔に置くと13桁の数字を表現でき、それが世界中の企業や製品名とリンクしている、という情報量の少なさに比べたときの表現力の大きさに尽きる。バーの太さが重要な情報となるため、高い印刷精度と読取り精度が要求されるが、カメラを内蔵した携帯電話の普及やCCDの性能向上もあり、その活用範囲は拡がっている。
JAN-13/EAN-13の場合、最初の2桁は国コード(日本の場合49または45)、次の5桁(2001年以降は7桁)は商品メーカーコード、次の5桁(2001年以降は3桁)がメーカーが独自に決める商品アイテムコード、最後の1桁は読み取りが正しいかどうか判定するための情報(チェックデジット)とされている。
このJAN-13/EAN-13バーコードは、当コラムでいうところの「マッシュアップ」に使える素材だと考えている。そして最近、にわかにその必要性にかられているのだ。
というのも、CDの耐久性が気になり始めたから。一説にCDの寿命は数十年と言われるが、仮に30年が目安だとすると、自分のCDライブラリはそろそろヤバめということになる。プログレとかAORとか、GRP全盛期のフュージョンとか、購入から20年を経ているものが多いためだ。ふだんは湿気の少ない冷暗所(書斎ともいう)に保管しているが、それらが一斉に寿命を迎えたらかなりへこむ。
だから、CDが健全なうちにCD-Rへバックアップしようと考えている。数百枚は格納できるケースにCD-Rを収納し、PPシートへ管理タグ代わりにJAN-13/EAN-13バーコードを貼り付けよう、という計画なのだ。そのCDの情報が必要になったときは、スマートフォンのバーコード読み取りアプリを使えばいい。これも一種のマッシュアップと考えるが、いかがだろう?
肝心の方法だが……Rubyのバーコード生成ライブラリ「barby」を使うことにした。バーコードを生成してくれるWebサイトもあるが、さすがに数百枚ものCDを処理したくない。CD-Rへのバックアップは手作業にならざるをえないとして、チェックデジットを除いた12桁の数値をブラウザのテキストフィールドに手入力することは避けたい、そう考えれば自動処理を模索するのは必然だ。
準備はかんたん、Rubyを標準装備するOS Xの場合、TerminalからgemコマンドでBarbyとPNG出力用ライブラリをインストールすればOK。あとはスクリプトを用意すれば、バーコードを生成できるはずだ。
・BarbyおよびPNG出力用ライブラリのインストール $ sudo gem install barby $ sudo gem install barby-chunky_png
とりあえず作成したスクリプトは、ヘッダ部分を除き実質1行というかんたんなもの。それでも、引数として12桁の数値 — JAN-13/EAN-13バーコードの下にある数値の右端を除いた12桁 — を与え、出力先のPNGファイルを指定して実行すれば、立派なバーコードを作成できる。
今回はテストのためごく基本的な機能しか用意していないが、CSVファイルから数値を入力したり、複数のバーコードを帳票状に整形したりすれば、より実用的になるはず。マッシュアップは道半ば、引き続き改良を続けてみたい。
リスト1:バーコード生成用スクリプト(makeJAN13.rb) require 'rubygems' require 'barby' require 'barby/barcode/ean_13' require 'barby/outputter/png_outputter' print Barby::EAN13.new(ARGV[0]).to_png
コマンド実行例 $ ruby makeJAN13.rb 498800970102 > barcode.png
iPhoneでバーコード読み取りアプリ「ZBar Barcode Reader」を使い、今回用意したスクリプトで出力したPNG画像を読み取ったところ。ベンリに使えるかも
最新ニュース
はてなブックマーク - 新着エントリー - 総合 新着エントリー
- 個人情報保護委が初の緊急命令 特殊詐欺グループに名簿提供:時事ドットコムon 2025年5月17日 at AM 1:34
個人情報保護委が初の緊急命令 特殊詐欺グループに名簿提供 時事通信 編集局2025年05月16日20時42分配信 ビジネスプランニングのホームページ 政府の個人情報保護委員会(個情委)は16日、氏名や住所などの個人情報を特殊詐欺グループに提供していたとして、いわゆる「名簿屋」を営む有限会社ビジネスプランニング(...
- 血液の抗凝固剤を過大投与後に70代男性患者が脳出血で死亡 薬を半分に減らすよう薬剤師などがWEBの情報共有で主治医に伝えるも確認せず 愛知・岡崎市民病院(CBCテレビ) - Yahoo!ニュースon 2025年5月17日 at AM 1:11
愛知県の岡崎市民病院が、薬を過剰に投与する医療ミス。遺族に1000万円を支払う方針です。 【写真を見る】血液の抗凝固剤を過大投与後に70代男性患者が脳出血で死亡 薬を半分に減らすよう薬剤師などがWEBの情報共有で主治医に伝えるも確認せず 愛知・岡崎市民病院 岡崎市民病院によりますとおととし5月、閉そく性黄だ...
- 皇室永続、柔軟な考え必要…京都産業大名誉教授・所功氏on 2025年5月17日 at AM 12:44
【読売新聞】読売新聞は15日、安定的な皇位継承の確保を求めて「皇統の存続を最優先に」「象徴天皇制 維持すべき」「女性宮家の創設を」「夫・子も皇族に」――以上4項目の提言を行った。皇統の安定を巡る議論にそれぞれの立場で関わったことのあ
- 個人情報保護委が初の緊急命令 特殊詐欺グループに名簿提供:時事ドットコムon 2025年5月17日 at AM 12:27
個人情報保護委が初の緊急命令 特殊詐欺グループに名簿提供 時事通信 編集局2025年05月16日20時42分配信 ビジネスプランニングのホームページ 政府の個人情報保護委員会(個情委)は16日、氏名や住所などの個人情報を特殊詐欺グループに提供していたとして、いわゆる「名簿屋」を営む有限会社ビジネスプランニング(...
- ひとくちタワーマンションon 2025年5月16日 at PM 11:31
毎月2万円(税抜き)からコツコツと!あなたでも加入可能! 「ひとくちタワーマンション」は、1口からのお手軽さが魅力です! メールアドレスと、お支払い方法だけでも登録可能ですので、アカウント登録が面倒な人も安心です。 ひとくちタワーマンションの魅力 1口なら、単純計算で半年で12万円!12か月で24万円! これが...
- 台湾 最後の原発が運転停止へ 民進党政権「原発ゼロ」実現 | NHKon 2025年5月16日 at PM 11:18
台湾で稼働している最後の原子力発電所が17日に停止し、民進党政権が進めてきた「原発ゼロ」が実現することになります。今後、電力の安定供給に向けて、再生可能エネルギーへの転換を進めていけるかが焦点です。 台湾では、東京電力福島第一原子力発電所の事故などを受けて、原発の安全性に不安を訴える声が高まり、「原...
- 「能動的サイバー防御」導入の法律成立 政府 円滑運用向け準備 | NHKon 2025年5月16日 at PM 11:03
サイバー攻撃を未然に防ぐ「能動的サイバー防御」を導入するための法律が成立しました。政府は円滑に運用できるよう基本方針の作成などの準備を着実に進めるとともに、「通信の秘密」をめぐる懸念の払拭に向けて丁寧に説明を続ける方針です。 「能動的サイバー防御」を導入するための法律は16日参議院本会議で採決が行わ...
- ムーディーズ 米政府に対する格付け 最上位から1段階引き下げ | NHKon 2025年5月16日 at PM 10:55
大手格付け会社の「ムーディーズ・レーティングス」は16日、アメリカ政府に対する格付けを最上位の「Aaa」から「Aa1」に1段階引き下げたことを明らかにしました。アメリカ政府の債務の拡大や利払い費の増加などを理由に挙げています。 ムーディーズは、おととし予算案をめぐる議会の混乱を背景に、アメリカ政府に対する...