public static List<XSLFSlide> crearPNG(String url) throws FileNotFoundException, IOException {
FileInputStream is = new FileInputStream( url);
XMLSlideShow pptx = new XMLSlideShow(is);
List<File> images = new ArrayList<>();
Dimension pgsize = pptx.getPageSize();
List<XSLFSlide> slides = pptx.getSlides();
for (int i = 0; i < slides.size(); i++) {
BufferedImage img = new BufferedImage(pgsize.width, pgsize.height, 1);
Graphics2D graphics = img.createGraphics();
graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
graphics.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
graphics.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);
graphics.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);
graphics.setColor(Color.white);
graphics.clearRect(0, 0, pgsize.width, pgsize.height);
graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));
XSLFSlide slide = slides.get(i);
// render
slide.draw(graphics);
// save the output
File pngFile = null;
if (url.equals("tiempo.pptx")) {
pngFile = new File("images/slide-mañana/", "slide-" + (i + 1) + ".png");
} else {
pngFile = new File("images/slide-tarde/", "slide-" + (i + 1) + ".png");
}
System.out.println((i + 1) + ") saving slide to " + pngFile.getName());
FileOutputStream out = new FileOutputStream(pngFile);
ImageIO.write(img, "png", out);
out.close();
images.add(pngFile);
}
pptx.close();
return slides;
}