If you have longish product codes then you are going to end up with large bar codes unfortunately.
There are a couple of different things you could try in this situation:
Rather than barcode the product code, barcode the "Stock ID". This is only 7 digits and uniquely identifies every one of your products. You can still print the product code on the label. You can set-up CAPITAL to scan for and expect the product code or the Stock ID - the software will check for either one during a scan. Your users won't be able to tell the difference.
If you google "free barcode code 39" then you will find some free bar code fonts. You can install these on your computer and then remove your existing barcode and replace it with just two copies of the product code. Change the font of the first product code to "Code 39" or whatever it is called, in the same way you would change the font from, say, Arial to Courier.
Note: You must install the font wherever you want to print labels from so it's a bit of a pain, but you only need to do this once.
Because fonts are "scalable" if you also change the point size on the font you will be able to print a smaller barcode.
A few cautions with this approach: just because you can print a smaller barcode, doesn't mean your scanner will be able to recognise it. Some scanners will not be able to recognise the barcode if you scale the barcode down and make it too small using this approach.