Bonjour,
Afin de convertir un PowerPoint en images pour que je puisse par la suite les afficher, j'ai utilisé ce code :Sachant que j'ai téléchargé tous les jars, j'ai encore des erreurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics2D; import java.awt.geom.Rectangle2D; import java.awt.image.BufferedImage; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.hslf.usermodel.SlideShow; public class slidtoppt { /** * @param args * @throws Throwable */ public static void main(String[] args) throws Throwable,IOException, Exception{ FileInputStream is = new FileInputStream("c:\\file\\slide.ppt"); System.out.println(); SlideShow ppt = new SlideShow(is); is.close(); Dimension pgsize = ppt.getPageSize(); org.apache.poi.hslf.model.Slide[] slide = ppt.getSlides(); for (int i = 0; i < slide.length; i++) { BufferedImage img = new BufferedImage(pgsize.width, pgsize.height, BufferedImage.TYPE_INT_RGB); Graphics2D graphics = img.createGraphics(); //clear the drawing area graphics.setPaint(Color.white); graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height)); //render slide[i].draw(graphics); //save the output FileOutputStream out = null; try { out = new FileOutputStream("slide-" + (i+1) + ".png"); } catch (FileNotFoundException e) { e.printStackTrace(); } try { javax.imageio.ImageIO.write(img, "png", out); } catch (IOException e) { e.printStackTrace(); } out.close(); } } }Quelqu'un saurait-il m'expliquer d'où peut venir le problème ?Exception in thread "main" java.lang.NoSuchMethodError:
org.apache.poi.poifs.filesystem.POIFSFileSystem.getRoot()Lorg/apache/poi/poifs/filesystem/DirectoryNode;
at org.apache.poi.hslf.HSLFSlideShow.<init>(HSLFSlideShow.java:115)
at org.apache.poi.hslf.HSLFSlideShow.<init>(HSLFSlideShow.java:103)
at org.apache.poi.hslf.usermodel.SlideShow.<init>(SlideShow.java:124)
at slidtoppt.main(slidtoppt.java:23)
Merci d'avance pour votre aide.
Partager