I have been using Aspose.BarCode (java) version 1.0.0.0 about 3-4 years. It works pretty good. But several new versions of this library were released and I decided to switch to some new version. I selected the version 4.4.0.
I have test environment platform with 3000 of pdf documents and Aspose.BarCode version 1.0.0.0 recognizes bar codes for all of them. But I was surprised that new version (4.4.0) could not recognize bar code for 547 of these pdf documents. It is example of my code for version 4.4.0:
r = new BarCodeReader(image, BarCodeReadType.getCode39Standard());
while (r.read()) {
barCode = r.getCodeText();
if (barCode!=null)
break;
}
r.close();
After reading of some messages on this forum I added the following line:
r.setHints(RecognitionHints.ImageBinarizationHints.getMedianSmoothing());
It helped but not for all pdfs. Any other playing with hints doesn’t help. I see that the old version (1.0.0.0) works much more better than new (4.4.0). Probably I missed something. Please help.
I attached example of tiff file where bar code is recognized by 1.0.0.0 version and is not recognized by 4.4.0.
Example of java code for version 1.0.0.0:
BufferedInputStream is = new BufferedInputStream(new FileInputStream(imageFile));
Image img = ImageIO.read(is);
BarCodeReader reader = new BarCodeReader(img);
BarCodeInfo[] results = reader.read();
for (BarCodeInfo bci : results) {
System.out.println(bci.getCodeText());
}
and for version 4.4.0:
BufferedInputStream is = new BufferedInputStream(new FileInputStream(imageFile));
BufferedImage img = ImageIO.read(is);
BarCodeReader reader = new BarCodeReader(img, BarCodeReadType.getCode39Standard());
reader.setHints(RecognitionHints.ImageBinarizationHints.getMedianSmoothing());
while (reader.read()) {
System.out.println(reader.getCodeText());
}
is.close();