幻灯片名称默认为undefined,因此您会收到一个空字符串。如果您使用链接的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();
}
我认为这是一个错误,默认名称不返回,因为它会在VBA中。默认名称似乎是“Sld”+幻灯片的ID –
此功能可能适用于潜在的usermodel方法,但不适用于基础xmlbeans。我可以将其添加到API中,但我还不确定这种方法是否合理。如果你打开一个bugzilla入口,请也描述你的用例(简要地)。 – kiwiwings
我有一个JSF Jira帐户,但Nob bugzilla帐户 - 是否有某种单点登录选项?最好的选择是如果你将所有东西都移植到github上。该问题系统与其他系统的集成要好得多。 –