package com.flowerz.tifftest; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Iterator; import java.util.logging.Level; import java.util.logging.Logger; import javax.imageio.ImageIO; import javax.imageio.ImageReadParam; import javax.imageio.ImageReader; import javax.imageio.stream.ImageInputStream; public class Test2 { public static void main(String[] args) throws IOException{ test2("C:\\Users\\W7U2\\Desktop\\net\\prueba\\imgs error\\Ipc.tif"); } public static void test2(String filePath){ File file = new File(filePath); try { // Create input stream ImageInputStream input = ImageIO.createImageInputStream(file); try { // Get the reader Iterator readers = ImageIO.getImageReaders(input); if (!readers.hasNext()) { throw new IllegalArgumentException("No reader for: " + filePath); } ImageReader reader = readers.next(); try { reader.setInput(input); ImageReadParam param = reader.getDefaultReadParam(); BufferedImage image; int pages = reader.getNumImages(true); for(int i = 0; i < pages; i++){ image = reader.read(i, param); ImageIO.write(image, "png", new File(file.getParentFile(), file.getName() + "_" + (i + 1) +".png")); } } finally { // Dispose reader in finally block to avoid memory leaks reader.dispose(); } } finally { // Close stream in finally block to avoid resource leaks input.close(); } } catch (IOException ex) { Logger.getLogger(Test2.class.getName()).log(Level.SEVERE, null, ex); } } }