【发布时间】:2012-02-12 06:25:39
【问题描述】:
如何使用 java 获取 .ppt 文件中的幻灯片数量。要访问 .ppt,我们需要 Apache POI API - 尤其是 Slide[] 类。
我正在使用来自here 的方法getSlideNumber() 来检索页码,但我仍然收到错误消息。我想知道如何获取幻灯片编号。
public final class count {
public static void main(String args[]) throws Exception {
File file= new File("C:/Users/THIYAGARAJAN/Desktop/ppt52.ppt");
FileInputStream is = new FileInputStream(file);
SlideShow ppt = new SlideShow(is);
is.close();
Slide[] slide = ppt.getSlides();
System.out.println(slide.length);
for (int i = 0; i < slide.length; i++) {
String title = slide[i].getTitle();
System.out.println("Rendering slide "
+ slide[i].getSlideNumber()
+ (title == null ? "" : ": " + title));
}
}
}
这段代码正确吗?
编辑:这是我在控制台中遇到的错误:
Exception in thread "main" java.lang.NoSuchFieldError: filesystem
at org.apache.poi.hslf.HSLFSlideShow.getPOIFSFileSystem(HSLFSlideShow.java:79)
at org.apache.poi.hslf.EncryptedSlideShow.checkIfEncrypted(EncryptedSlideShow.java:51)
at org.apache.poi.hslf.HSLFSlideShow.<init>(HSLFSlideShow.java:141)
at org.apache.poi.hslf.HSLFSlideShow.<init>(HSLFSlideShow.java:115)
at org.apache.poi.hslf.HSLFSlideShow.<init>(HSLFSlideShow.java:103)
at org.apache.poi.hslf.usermodel.SlideShow.<init>(SlideShow.java:121)
at count.count.main(count.java:22)
【问题讨论】:
-
错误是什么?它是在哪里生成的?日志帮助..
-
是的!谢谢你的建议我已经发布了错误
-
它没有改变同样的错误!!
-
count.java:22对应于您的count类中的哪一行? -
SlideShow ppt = new SlideShow(is);
标签: java android slideshow apache-poi slide