Ruby helper classes for barcodes

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:

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

The file had the following format:

520532435284;1;09
520532435285;1;09
520532463580;1;09

and for the three lines above it produces:

5205324352841;1;09
5205324352858;1;09
5205324635807;1;09

Update: I have changed this project to a gem. You can read about it in my PAbarcode gem post.

3 thoughts on “Ruby helper classes for barcodes

  1. Thank you very much!

    Your assistance it was very helpful.

    It’ll be very helpful if your project can do the following specified steps:
    1. the name of the input text file
    2. the type of file i.e. a csv file, a delimited field or an Excel file
    3. the field that we want to check and change (of course the barcode field)
    4. the name of the output file
    5. the format of the output file i.e. a csv file, a delimited field or an Excel file

    Thank you again Petro

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s