【发布时间】:2016-02-16 11:45:44
【问题描述】:
亲爱的,
我正在使用 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();
你知道我如何克隆幻灯片及其图表吗?
非常感谢,并致以最诚挚的问候!
【问题讨论】:
标签: java apache-poi powerpoint xslf