/* @(#) MultiPageTiffRead.java 1.0 2001/10/4
 * Copyright (c) 2001 Larry Rodrigues
 */

import java.io.File;
import java.io.IOException;
import java.awt.image.RenderedImage;
import javax.media.jai.NullOpImage;
import com.sun.media.jai.codec.SeekableStream;
import com.sun.media.jai.codec.FileSeekableStream;
import com.sun.media.jai.codec.TIFFDecodeParam;
import com.sun.media.jai.codec.ImageDecoder;
import com.sun.media.jai.codec.ImageCodec;

public class MultiPageTiffRead {
    public MultiPageTiffRead(){}

    public static RenderedImage[] readMultiPageTiff(String filename)throws IOException{
       File file = new File(filename);
       SeekableStream ss = new FileSeekableStream(file);
       ImageDecoder decoder = ImageCodec.createImageDecoder("tiff", ss, null);
       int numPages = decoder.getNumPages();
       RenderedImage image[]= new RenderedImage[numPages];
       for(int i=0;i<decoder.getNumPages();i++){
           image[i] = decoder.decodeAsRenderedImage(i); 
       }
       return image;
    }

    public static void main(String [] args) {
       if(args.length <1) {
         System.out.println("Enter an image file name");
         System.exit(0);
       }
       //MultiPageTiffRead  mpt = new MultiPageTiffRead();
       try {
          MultiPageTiffRead.readMultiPageTiff(args[0]);
       }catch (Exception e) { e.printStackTrace();}

    }
}
