我正在使用apache poi从ppt文件中删除幻灯片。
HSLFSlideShow slideShow = new HSLFSlideShow(new HSLFSlideShowImpl(dir));
for (int i = 0; i < 5; i++) {
slideShow.removeSlide(0);
}我打印了所有的幻灯片,我看到前五张幻灯片都不见了。然而,当我打开ppt文件时,什么都没有改变。前五张幻灯片还在那里。我该怎么办?
发布于 2016-06-09 16:38:11
当您完成更改后,您需要将它们写出来以便保存!该方法通常是跨所有格式的write(OutputStream),对于HSLF write method here是javadoc。
因此,只需将您的代码更改为如下所示:
HSLFSlideShow slideShow = new HSLFSlideShow(new HSLFSlideShowImpl(dir));
for (int i = 0; i < 5; i++) {
slideShow.removeSlide(0);
}
FileOutputStream out = new FileOutputStream("changed.ppt");
slideShow.write(out);
out.close();目前在HSLF中没有就地保存支持,也没有志愿者添加它,所以您必须保存到与打开它的文件不同的文件中
https://stackoverflow.com/questions/37671543
复制相似问题