1 year ago
#162403
NewCoder
java.lang.ArrayIndexOutOfBoundsException error when converting TIFF files
I am writing a code the convert tiff files to pdf using pdfbox but I receive the below error when reading some pages of the TIFF file. This does not happen to all files or all pages.
PDDocument pdfDoc = new PDDocument();
ImageInputStream isb = ImageIO.createImageInputStream(is);
Iterator<ImageReader> iterator = ImageIO.getImageReaders(isb);
if (iterator == null || !iterator.hasNext())
{
throw new IOException("Image file format not supported by ImageIO: ");
}
ImageReader reader = (ImageReader) iterator.next();
iterator = null;
reader.setInput(isb);
int nbPages = reader.getNumImages(true);
for(int p=0;p<nbPages;p++)
{
BufferedImage bufferedImage = reader.read(p);
PDPage page = new PDPage();
pdfDoc.addPage(page);
PDImageXObject image = LosslessFactory.createFromImage(pdfDoc, bufferedImage);
PDPageContentStream content =new PDPageContentStream(pdfDoc, page);
content.drawImage(image, 0,0 ,page.getMediaBox().getWidth(),page.getMediaBox().getHeight());
content.close();
iterator = null;
}
pdfDoc.save(os);
pdfDoc.close();
Error received is below
java.lang.ArrayIndexOutOfBoundsException: Index 23465 out of bounds for length 23465 at java.desktop/com.sun.imageio.plugins.tiff.TIFFFaxDecompressor.nextLesserThan8Bits(TIFFFaxDecompressor.java:1540) at java.desktop/com.sun.imageio.plugins.tiff.TIFFFaxDecompressor.decodeT6(TIFFFaxDecompressor.java:1080) at java.desktop/com.sun.imageio.plugins.tiff.TIFFFaxDecompressor.decodeRaw(TIFFFaxDecompressor.java:655) at java.desktop/com.sun.imageio.plugins.tiff.TIFFDecompressor.decode(TIFFDecompressor.java:2526) at java.desktop/com.sun.imageio.plugins.tiff.TIFFImageReader.decodeTile(TIFFImageReader.java:1124) at java.desktop/com.sun.imageio.plugins.tiff.TIFFImageReader.read(TIFFImageReader.java:1342) at java.desktop/javax.imageio.ImageReader.read(ImageReader.java:938) at com.allstate.acg.claims.tiff.TiffToPDF.convert(TiffToPDF.java:37) at com.allstate.acg.claims.tiff.TiffToPDF.main(TiffToPDF.java:60)
Any help on what could be causing this?
image-reader
0 Answers
Your Answer