Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : extraire texte d'un powerpoint [ Divers / Général ] (kakol)

vendredi 30 juin 2006 à 10:11:30 | extraire texte d'un powerpoint

kakol

Bonjour à tous,

J'essaie d'extraire le texte contenu dans différents types de fichiers. J'ai réussi pour les word, pdf, texte, html mais j'ai un petiti soucis pour les powerpoint.
En effet, grace à un exemple trouvé sur le net qui utilise l'api POI j'extrais du texte d'un powerpoint mais le problème est que cela n'extrait que le texte des 2 ou 3 premiers slides et le dernier slide. Bref, une partie du texte seulement est extraite et non pas tout le texte.

Voici mon code :

import

java.io.FileInputStream;

import

org.apache.poi.util.LittleEndian;

import

org.apache.poi.poifs.filesystem.DocumentInputStream;

import

org.apache.poi.poifs.eventfilesystem.POIFSReader;

import

org.apache.poi.poifs.eventfilesystem.POIFSReaderEvent;

import

org.apache.poi.poifs.eventfilesystem.POIFSReaderListener;

public

class PowerPoint {

public PowerPoint(String filePath) throws Exception {

POIFSReader poifReader =

new POIFSReader();

poifReader.registerListener(

new PowerPoint.MyPOIFSReaderListener());

poifReader.read(

new FileInputStream(filePath));

}

public String getText() {

System.out.println(sb.toString());

return sb.toString();

}

StringBuffer sb =

new StringBuffer();

class MyPOIFSReaderListener implements POIFSReaderListener {

publicvoid processPOIFSReaderEvent(POIFSReaderEvent event) {

char ch0 = (char)0;

char ch11 = (char)11;

try {

DocumentInputStream dis =

null;

dis = event.getStream();

byte btoWrite[] = newbyte[dis.available()];

dis.read(btoWrite, 0, dis.available());

for (int i = 0; i < btoWrite.length-20; i++) {

long type = LittleEndian.getUShort(btoWrite, i + 2);

long size = LittleEndian.getUInt(btoWrite, i + 4);

if (type == 4008) {

try {

String s =

new String(btoWrite, i + 4 + 1, (int) size + 3).replace(ch0, ' ').replace(ch11,' ');

i = i + 4 + 1 + (

int) size - 1;

if ((s.trim().startsWith("Click to edit") == false)

|| (s.trim().startsWith(

"Cliquez pour modifier") == false)) {

sb.append(s);

}

}

catch (Exception ee) {System.out.println("error:"+ee); }

}

}

}

catch (Exception ex) {

ex.printStackTrace();

return;

}

}

}

}

Est-ce que quelqu'un pourrait m'aider svp??
Cela fait quelques jours que je cherche désespérément ce qui ne va pas mais je ne trouve pas.

D'avance je vous remercie.

***  Kakol ***



Cette discussion est classé dans : texte, apache, powerpoint, import, poi


Répondre à ce message

Sujets en rapport avec ce message

Imprimer du texte [ par stephane160 ] Je voudrai savoir comment faire pour imprimer un fichier .txt avec un PrinterJob ?Faute de savoir le faire, j'ai décidé d'imprimer à la place une Stri Imprimer un fichier texte [ par stephane160 ] Je voudrai savoir comment faire pour imprimer un fichier .txt avec un PrinterJob ?Faute de savoir le faire, j'ai décidé d'imprimer à la place une Stri Imprimer un fichier texte [ par stephane160 ] Je voudrai savoir comment faire pour imprimer un fichier .txt avec un PrinterJob ?Faute de savoir le faire, j'ai décidé d'imprimer à la place une Stri Affichage feuille Excel [ par javaSudSudOuest ] Bonjour,J'essaie désesperement d'afficher le contenu d'un fichier excel au travers d'une appli JAVA.Je pensais donc utiliser SWING. C'est d'ailleurs c AIDEZ moi svp, c'est trés urgent!!! [ par othland ] slt tlm!1)je veux ouvrir une fenetre qui contient une zone de texte et un bouton, et quand je clique sur le bouton une boite de dialogue s'ouvre et q créer une PageAction avec Struts [ par zenouba2005 ] bonjour,je travaille avec struts et eclipse,pour créer une PageAction je fais New/Easy Action n'est ce pas??en fait je veux selectionner une liste de sos jsp servlet [ par juanquiX ] salut, je vais être bref, je déploie une appli web développée avec techno Servlets, jsp de quelqu'un sur une plateforme linux-mandriva, tomcat 5, et e urgent connexion à LDAP:package org.apache.tomcat.core doesn't existe [ par aracha ] bonjour tt le monde, j'essaie de  tester la connexion à mon LDAP,j'ai ecris la classe java : import org.apache.tomcat.core.*;  import org.apache.tomca probleme de initFormBean avec Struts [ par lizarajim ] salut à tous, je rencontre l'erreur suivante : Javax.servlet.jsp.JspException: Exception creating bean of class ConnexionForm: {1} org.apache.struts import xls avec POI [ par skillipo ] Bonjour,dans un projet JEE , je voudrai importer un fichire Excel, effectuer un traitement desssus et apres enregistrer dans ma base de donnees postgr


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,187 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.