2010-08-30 5 views
3

Hai, j'utilise Apache POI 3.6 je l'ai déjà créé un code ..Comment extraire docx (Word 2007 ci-dessus) en utilisant Apache POI

XWPFDocument doc = new XWPFDocument(new FileInputStream(file)); 
     wordxExtractor = new XWPFWordExtractor(doc); 
     text = wordxExtractor.getText(); 

     System.out.println("adding docx " + file); 
     d.add(new Field("content", text, Field.Store.NO, Field.Index.ANALYZED)); 

malheureusement, il a généré une erreur ..

Exception in thread "main" java.lang.NoClassDefFoundError: org/dom4j/DocumentException 
at org.apache.poi.openxml4j.opc.OPCPackage.init(OPCPackage.java:149) 
at org.apache.poi.openxml4j.opc.OPCPackage.<init>(OPCPackage.java:136) 
at org.apache.poi.openxml4j.opc.Package.<init>(Package.java:54) 
at org.apache.poi.openxml4j.opc.ZipPackage.<init>(ZipPackage.java:98) 
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:199) 
at org.apache.poi.openxml4j.opc.OPCPackage.open(OPCPackage.java:178) 
at org.apache.poi.util.PackageHelper.open(PackageHelper.java:53) 
at org.apache.poi.xwpf.usermodel.XWPFDocument.<init>(XWPFDocument.java:98) 
at org.apache.lucene.demo.Indexer.indexDocs(Indexer.java:153) 
at org.apache.lucene.demo.Indexer.main(Indexer.java:88) 

il semblait qu'il utilisait Constructor

XWPFWordExtractor (conteneur OPCPackage)

mais pas celui-ci ->

XWPFWordExtractor (document XWPFDocument)

Tout se demandant pourquoi ?? Ou toute idée comment je peux extraire le .docx puis le convertir en une chaîne?

Répondre

2

Il semble que vous n'ayez pas toutes les dépendances sur votre chemin de classe.

Si vous regardez http://poi.apache.org/overview.html, vous verrez que dom4j est une bibliothèque requise pour travailler avec les fichiers OOXML. De l'exception que vous avez, il semble que vous ne l'avez pas ... Si vous regardez dans le téléchargement binaire POI, vous devriez le trouver dans le sous-répertoire ooxml-libs.

3

Vous devez ajouter la bibliothèque dom4j à votre claspath ou aux bibliothèques de votre projet

Questions connexes