使用Apache POI拆分pptx幻灯片

时间:2018-07-19 09:47:34

标签: java split apache-poi powerpoint

我想通过使用Apache POI Java库将一个pptx幻灯片分成几个幻灯片,每个幻灯片仅包含一个幻灯片。

创建一个新的XMLSlideSheet并在多个位置(例如https://www.tutorialspoint.com/apache_poi_ppt/apache_poi_ppt_merging.htm)中添加一张幻灯片对我不起作用,因为某些布局未正确导入:字体更改,文本位置更改,等

  1. 问题: 将幻灯片导入到新的XMLSlideShow中时,如何不仅导入内容和主版式,还导入主题?

一项有效的工作是为每张幻灯片一次导入pptx文件,然后遍历所有幻灯片,删除除一张幻灯片之外的所有幻灯片。 但是,到目前为止,这种方法的缺点是生成的pptx-one-slide-file的文件大小与带有x张幻灯片的大输入slidedeck一样大。因此,通过XMLSlideShow-> removeSlide(slideID)删除幻灯片似乎不会从幻灯片中删除所有图像,关系等。

  1. 问题: 在删除一张幻灯片之后,如何从XMLSlideshow中删除不再需要的所有部分?

谢谢您的帮助!

1 个答案:

答案 0 :(得分:0)

  1. 首先打开完整的pptx,然后一张一张地删除幻灯片。这样,您就可以保留母版幻灯片和其他属性。

  2. 您可以尝试滑动幻灯片的形状并将其移除,如下所示:

for (shape: slide.getShapes()) { slide.removeShape(shape) }