Hi,
I am able to convert the PDF file into multi page TIFF file using the below method. But i am getting a size of 1.3 mb for each page of TIFF file (noofpagesX 1.3 mb). it's huge size right? So Could any one please help me out how to decrease the size of the TIFF file? It's an urgent for me. help me out.....
public static byte[] PDF2TIFF(byte[] bai, String imageType) {
byte[] out = null;
try {
PdfDecoder decoder = new PdfDecoder();
decoder.openPdfArray(bai);
decoder.setSize(100, 100);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
BufferedImage image[] = new BufferedImage[decoder.getPageCount()];
TIFFEncodeParam param = new TIFFEncodeParam();
param.setCompression(TIFFEncodeParam.COMPRESSION_PACKBITS);
param.setLittleEndian(true);
param.setWriteTiled(false);
if (decoder.isFileViewable()) {
for (int i = 0; i < decoder.getPageCount(); i++) {
int pageNumber = i + 1;
BufferedImage imageTemp = decoder.getPageAsImage(pageNumber);
System.out.println("Page Number."+pageNumber);
image[i] = imageTemp;
}
ImageEncoder encoder = com.sun.media.jai.codec.ImageCodec.createImageEncoder("tiff", baos, param);
Vector vector = new Vector();
for (int i = 1; i < image.length; i++) {
vector.add(image);
}
param.setExtraImages(vector.iterator());
encoder.encode(image[0]);
baos.flush();
baos.close();
}
decoder.closePdfFile();
out = baos.toByteArray();
}
catch (Exception e)
{
e.printStackTrace();
}
return out;
}
Thanks
Sha