In my day job, I work a lot with barcodes. We develop Windows Mobile software for devices with barcode readers. From time to time, I need to do file manipulation chores. That is: colleagues give me text files that contain barcodes and ask me to transform these.
Yesterday, a colleague of mine asked me to take as input a file with 12 characters long barcodes and add a check digit assuming the barcodes are EAN13. I decided to do it and also start maintaining a set of barcode helper classes written in Ruby. I haven’t created a gem yet, cause the functionality is … lets say limited :-), but I plan to do so later.
You can go to
http://github.com/amiridis/rbarcode
and just download the barcode.rb file.
Here is how I used the barcode.rb file in order to transform the file:
[sourcecode language=”ruby”]
require "barcode"
file = File.open("apog.txt")
file.each do |line|
bc = line.slice(0..11)
bc13 = Barcode.new(bc).get_ean_13
puts bc13 + line.slice(12..line.length)
end
file.close
[/sourcecode]
The file had the following format:
[sourcecode language=”text”]
520532435284;1;09
520532435285;1;09
520532463580;1;09
[/sourcecode]
and for the three lines above it produces:
[sourcecode language=”text”]
5205324352841;1;09
5205324352858;1;09
5205324635807;1;09
[/sourcecode]
Update: I have changed this project to a gem. You can read about it in my PAbarcode gem post.