默认情况下,幻灯片名称未定义,因此您会收到一个空字符串。如果您使用链接的 VBA 示例,然后尝试上面的代码,您将获得幻灯片名称。相应的二传手也可以工作......
由于只能通过 VBA 修改幻灯片名称 - 我会改用幻灯片标题,但当然取决于您的用例。
public static void main(String[] args) throws Exception {
// slide name has been set via VBA ...
FileInputStream fis = new FileInputStream("slidename.pptx");
XMLSlideShow ppt = new XMLSlideShow(fis);
fis.close();
XSLFSlide sl = ppt.getSlides().get(0);
System.out.println(sl.getXmlObject().getCSld().getName());
// set slide name via POI and validate it
sl.getXmlObject().getCSld().setName("new name");
FileOutputStream fos = new FileOutputStream("slidename2.pptx");
ppt.write(fos);
fos.close();
ppt.close();
fis = new FileInputStream("slidename2.pptx");
ppt = new XMLSlideShow(fis);
fis.close();
System.out.println(sl.getXmlObject().getCSld().getName());
ppt.close();
}