First you might like to take a look at the following web site articles:
Here are some useful suggestions:
Barcodes could be applied using pre printed labels, or printed on documents at 600 dpi on a laser printer. Printing them on poor quality paper or on a bubble jet would be a definite no no. Any ink bleed between vertical lines in the barcode will cause problems.
A barcode printed using a small font will have a problem when scanned because the white space between the black lines becomes harder to see. If the lines look like they are touching each other in the scanned image, the recognition will most likely fail. Using a larger font or point size can help to spread the lines out in the barcode. Fine barcodes should be scanned at a minimum of 300 dpi, 400 dpi would be better but the resulting large image size may slow the process down too much. It's best to start with a large fort that works and gradually decrease it's size until it doesn't, and then increase the size back up 1 or 2 sizes from that failure point.
What font is best?. No easy answer here. Depends on how much data you want to put in the barcode, and what software tools you have purchased to produce your barcodes. It looks like code 3 of 9 is a reasonable choice, but EAN 8/13 could be better. An important factor is that you should use a barcode that is designed for that industry segment or packaging requirement.
If the barcode doesn't work you will need to increase the font size up to 24 or 26 point to get it to work okay.
If the barcodes are poor quality then you must specify the barcode type on the Profiling Tab within EzeScan. You must not try to use UNKNOWN type when running the job in production. The UNKNOWN option is normally used to just help identify what type of barcodes are being read. Once this is determined the barcode type should be set to that specific type.
If you are using 3 of 9 barcodes did you remember to add the "*" character to the start and end of the value you are putting in the barcode? For example let's say your barcode value is "123456789", then the value placed in the barcode label is actually "*123456789*". The start and end "*" characters are required by the barcode recognition engine, but they are discarded from the returned value of "123456789". These characters are not normally required when using other barcode types.