亲爱的大家,
我正在使用 Apache POI,我想复制一张幻灯片,其中包含来自代码的多个图表。
当幻灯片上没有图表时,下面的代码(受https://poi.apache.org/slideshow/xslf-cookbook.html#Merge启发)可以正常工作。
不幸的是,使用这种方法似乎无法复制图表:当我尝试打开生成的文件时,Powerpoint 检测到问题,尝试修复它,但失败了,我得到了空白幻灯片。
我检查了底层 XML 文件(使用 Open XML SDK),似乎图表本身(在文件夹/ppt/charts
中)没有重复,并且关系文件(在文件夹/ppt/slides/_rels
中)没有完全更新。
这是我当前的代码:
// Open slideshow
FileInputStream fileInputStream = new FileInputStream(sourceFilePath);
XMLSlideShow slideShow = new XMLSlideShow(fileInputStream);
fileInputStream.close();
// Duplicate slide
XSLFSlideLayout layout = slide.getSlideLayout();
XSLFSlide newSlide = slideshow.createSlide(layout);
newSlide.importContent(slide);
// Save updated slideshow
FileOutputStream fileOutputStream = new FileOutputStream(outputFilePath);
slideShow.write(fileOutputStream);
fileOutputStream.close();
你知道我如何克隆一张幻灯片和它的图表吗?
非常感谢,最好的问候!