2015-04-15 5 views
2

In this question У кого-то была аналогичная проблема: у меня есть: я хочу прочитать содержимое .pptx-файла (только текст), но только получил его работу с .ppt-файлами. Поэтому я попытался решить это с принятым ответом, но у меня есть это исключение: java.lang.ClassNotFoundException: org.apache.poi.hslf.model.TextPainter$Keyread .pptx вызывает java.lang.ClassNotFoundException

Я использовал пример из this page (что было предложено в принятом ответе), поэтому я понятия не имею, почему он не работает. Мой код:

public static String readPPTX(String path) throws FileNotFoundException, IOException{ 
    XMLSlideShow ppt = new XMLSlideShow(new FileInputStream(path)); 
    String content = ""; 
    XSLFSlide[] slides = ppt.getSlides(); 
    for (XSLFSlide slide : slides){ 
     XSLFShape[] sh = slide.getShapes(); 
     for (int j = 0; j < sh.length; j++){ 
      if (sh[j] instanceof XSLFTextShape){ 
       XSLFTextShape shape = (XSLFTextShape)sh[j]; 
       content += shape.getText() + "\n"; 
      } 
     } 
    } 
    return content; 
} 
+1

Вам не хватает файлов jar. Добавьте все файлы jar, предоставленные Apache POI, в ваш путь к классу. См. Этот ответ - http://stackoverflow.com/a/15106801/4720017 – LittlePanda

+0

У меня есть все эти файлы jar, упомянутые там (это проект maven) – Munchkin

+2

Я считаю, что файл jar - poi-scratchpad-3.9.jar. Очистите и создайте свой проект и попробуйте еще раз. Опубликуйте стек. – LittlePanda

ответ

3

Решение этой проблемы заключается в добавлении файла пои-блокнотная-3.9.jar путь к классам проекта.

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