Cloning PlaceholderEx loses Bold and Font

Hi,

We have recently put Aspose.Slides into production creating presentations from templates. It is going well for the most part.

Big problem we are having now is that cloning does not work well. I have documented in the attached file that the Bold and FontName attributes of the portions of a PlaceholderEx do not get cloned. I may just be a little picky, but it does seem that cloning means that the clone is EXACTLY the same as the original. I just worry that there are more items getting dropped.

Please let me know when this gets fixed. In the meantime, I am going to write a workaround for the problem.

Brad

Just had a thought. Does the PlaceholderEx on the slide inherit information from the PlaceholderEx on the layout slide? If so, it does not exist when using a different layout. I'm guessing I would need another PlaceholderEx on the layout I am using, or copy the one from the source's layout.

Would be nice if there were a way to merge multiple slides (in this case the two layout slides, one from the source and the one being used during cloning).

I started to code this (copying the placeholder from the sourSlide’s layout to the destSlide’s layout) and could not find a way to hook the destSlide’s autoShape to the placeholder on the layout. How would one do this?

Dear Brad,

I am sorry for the delayed response but I am in contact with our development team to resolve your issue. As soon as some information is shared, I will share that with you. As a workaround can you please try to clone slides with Master slides instead of Layout slide. You may have also observed that you may not be able to set any slide layout by yourself using Aspose.Slides. The thing is that the feature is not currently supported by Aspose.Slides.

We are sorry for your inconvenience,

Hi Mudassir,

I tried using the master. It did manage to clone with the master slide (surprised me a little). Unfortunately, the bold attributes still got lost.

By the way, I tried to find the Master slide by its name, but the name attribute returned was an empty string (we had given it a name in PowerPoint).

Brad

Dear Brad,

Actually, the correct way for cloning slides between presentations is to involve master slide while cloning. However, if you clone only slide with no master slide then all properties which has default values (inherited from master) will be lost. Please use the code snippet below to achieve the goal.

PresentationEx srcPres = new PresentationEx("source.pptx");
PresentationEx dstPres = new PresentationEx();

SlidesEx srcSlide = srcPres[0];

MasterSlideEx master = srcSlide.LayoutSlide.MasterSlide;
int index = dstPres.Masters.AddClone(master);

dstPresEx.Slides.AddClone(slide, master);

dstPresEx.Write("dest.pptx");

You have also shared that some font attributes like font bold property is missing in the cloned slide. For this issue, I request you to please share the source presentation file.

Thanks and Regards,

Hi Mudassir,

We have solved this problem by creating a Template page in our lesson template. This page has a placeholder on the layout page and the text field on the page. We clone this Template page into the output document (with its own layout) and then copy the text from text field on the source pptx into the text field on the templated page. All formatting is then inherited correctly from the Template Layout page.

Thanks for your help along the way.

Brad