Read Barcodes from Multipage TIFF Images in Java

Contents
[ ]
String fileName = dataDir + "multi_page.tiff";
Iterator readers = javax.imageio.ImageIO.getImageReadersBySuffix("tiff");
if (readers.hasNext()) {
File fi = new File(fileName);
ImageInputStream iis = javax.imageio.ImageIO.createImageInputStream(fi);
TIFFDecodeParam param = null;
ImageDecoder dec = ImageCodec.createImageDecoder("tiff", fi, param);
// Get the page count of the TIFF image
int pageCount = dec.getNumPages();
ImageReader _imageReader = (ImageReader) (readers.next());
if (_imageReader != null) {
_imageReader.setInput(iis, true);
// Feed each page to the BarCodeReader
for (int i = 0; i < pageCount; i++) {
BufferedImage _bufferedImage = _imageReader.read(i);
BarCodeReader reader = new BarCodeReader(_bufferedImage, DecodeType.DATA_MATRIX);
// Read the barcodes in a single page
for (BarCodeResult result : reader.readBarCodes()) {
System.out.println(result.getCodeText());
}
}
}
}