2010-08-30 2 views
3

Хай, я использую Apache POI 3.6 Я уже создал некоторый код ..Как извлечь DOCX (Word 2007 выше) с помощью 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)); 

, к сожалению, она генерируется ошибка ..

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) 

казалось, что он использовал Constructor

XWPFWordExtractor (OPCPackage контейнер)

, но это не один ->

XWPFWordExtractor (XWPFDocument документ)

Любой интересно, почему ?? Или любая идея, как я могу извлечь .docx, а затем преобразовать его в строку?

ответ

2

Похоже, что у вас нет всех зависимостей от вашего пути к классам.

Если вы посмотрите на http://poi.apache.org/overview.html, вы увидите, что dom4j является необходимой библиотекой при работе с файлами OOXML. Из того, что вы получили, кажется, что у вас его нет ... Если вы посмотрите в бинарной загрузке POI, вы должны найти его в подкаталоге ooxml-libs.

3

Вам необходимо добавить библиотеку dom4j в ваш claspath или библиотеки проектов

Смежные вопросы