Hi ,
My requirement is create target presentation which contains layout[master] from different presentation.Using addClone method i am able to add master slide but formatting is not proper
public static void addAllSlide(Presentation presentation,ApplicationContext Context)
throws JsonParseException, JsonMappingException, IOException {
List<Slide> packSlideCollection = presentation.getPackSlideCollection();
int packSlideCollectionSize = packSlideCollection.size();
IPresentation iPresentation = presentation.getiPresentation();
ISlideCollection iSlideCollection = iPresentation.getSlides();
IGlobalLayoutSlideCollection iLayoutSlideCollection = iPresentation.getLayoutSlides();
iLayoutSlideCollection.removeUnused();
HashMap<String, IMasterSlide> masterList=new HashMap<>();
for (Entry<String, IMasterSlide> entry : MasterLayout.getAllMasterSlide().entrySet()) {
IMasterSlide iMasterSlide=iPresentation.getMasters().addClone(entry.getValue());
masterList.put(entry.getKey(), iMasterSlide);
}
for (int i = 0; i < packSlideCollectionSize; i++) {
Slide slide = packSlideCollection.get(i);
// Add new Slide to Presentation.
ILayoutSlide layoutSlide = MasterLayout.getLayoutSlide(slide.getTemplateName(), slide.getLayoutSlideIndex());
IMasterSlide iMasterSlide = masterList.get(slide.getTemplateName());
ILayoutSlide iLayoutSlide= iPresentation.getLayoutSlides().addClone(layoutSlide,iMasterSlide);
ISlide isSlide = iSlideCollection.addEmptySlide(iLayoutSlide);
try {
// Insert Slide Data.
isSlide = SlideHelper.insertSlideData(slide, isSlide);
} catch (Exception e) {
log.error("Error occurred while creating slide.."+e);
}
}
}
please find attached ppt. licensed java version -17.8. java
layout_26_09_2017_13_52_10_0.zip (171.2 KB)