IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Documents Java Discussion :

[POI] Générer des images à partir d'une présentation PowerPoint


Sujet :

Documents Java

  1. #1
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut [POI] Générer des images à partir d'une présentation PowerPoint
    bonjour,
    J'ai utilisé l'api POI pour extraire les images d'une présentation PowerPoint :

    voici le code :

    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
    	public static void main(String str[]) throws IOException{
    		test2();
    	}
     
    public static void test2() throws IOException{
    	 FileInputStream is = new FileInputStream("AAA.ppt");
         SlideShow ppt = new SlideShow(is);
         is.close();
     
         Dimension pgsize = ppt.getPageSize();
     
         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 = new FileOutputStream("slide-"  + (i+1) + ".png");
             javax.imageio.ImageIO.write(img, "png", out);
             out.close();
         }	
    }
    A l'exécution j'ai le message suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Exception in thread "main" java.lang.NoSuchMethodError: org.apache.poi.POIDocument: method <init>()V not found
    	at org.apache.poi.hslf.HSLFSlideShow.<init>(HSLFSlideShow.java:114)
    	at org.apache.poi.hslf.HSLFSlideShow.<init>(HSLFSlideShow.java:102)
    	at org.apache.poi.hslf.usermodel.SlideShow.<init>(SlideShow.java:127)
    	at convert.Testconvert.test2(Testconvert.java:26)
    	at convert.Testconvert.main(Testconvert.java:21)
    Merci pour votre aide.

  2. #2
    Membre habitué
    Inscrit en
    Septembre 2002
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 233
    Points : 131
    Points
    131
    Par défaut
    Typiquement ça veut dire qu'il manque une librairie jar dans ton classpath

  3. #3
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut
    Oui,
    J'ai ajouté autres fichiers JAR ayant la méthode demandée.
    ça marche bien maintenant, mais, comment puis-je améliorer la qualité des images générées ?

    Merci d'avance.

  4. #4
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut
    C'est bon !

    voici ce que j'ai ajouté pour améliorer la qualité des images :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    			BufferedImage img = new BufferedImage(820, 615, BufferedImage.TYPE_INT_ARGB);
    			Graphics2D graphics = img.createGraphics();
     
    			graphics.setComposite(AlphaComposite.Src);
     
    			graphics.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
    			RenderingHints.VALUE_INTERPOLATION_BILINEAR);
     
    			graphics.setRenderingHint(RenderingHints.KEY_RENDERING,
    			RenderingHints.VALUE_RENDER_QUALITY);
     
    			graphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
    			RenderingHints.VALUE_ANTIALIAS_ON);
    Résultat impressionnant
    Merci, ceci peut aider d'autres.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] récupérer des images à partir d'une base de données mysql
    Par j_esti dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 21/04/2011, 13h34
  2. [POI] Générer des images à partir d'un document Word
    Par adil_vpb dans le forum Documents
    Réponses: 0
    Dernier message: 22/03/2010, 01h20
  3. Générer des classes à partir d'une BDD
    Par christo.pop dans le forum Persistance des données
    Réponses: 2
    Dernier message: 27/03/2007, 09h11
  4. [MySQL] Traitement de Formulaire : générer des ensemble à partir d'une boucle foreach
    Par yodaazen dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/10/2006, 15h28
  5. [FLASH 8] Afficher des images à partir d'une base de données
    Par developpeur_mehdi dans le forum Flash
    Réponses: 9
    Dernier message: 15/03/2006, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo