You haven't mentioned what your other design criteria are (cost, size, power consumption, development time, how the labels are expected to be scanned, label size, etc.).
I've used integrated emitter-detectors from HP in the past (HEDS-1000, e.g.) quite successfully (though I am no longer sure that "HP" makes *any* components...)
With a little bit of signal conditioning (buffer and window comparator, etc.) you'll end up with a "video" signal that represents the "light/dark" nature of the item passing through the detector's focus. It is a simple matter to time the interval between successive black-to-white/white-to-black transitions and, from that, deduce the relative widths of the bars/spaces -- which ultimately allows you to decode the symbol. Especially if you are free to pick the code used, character density, data encoding scheme, etc.
Take a quick peek at:
formatting link
Apologies if the URL gets mangled... MS's tools like to screw up embedded spaces :-( The file name should be "Barcode Terminology.pdf" (I should just remove the space and be done with it! :> )
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.