Je voudrais cloner une diapositive d'un document PowerPoint et insérer dans le même document OpenXML. Pour cela, j'utilise la fonction suivante:impossible de cloner une nouvelle diapositive PowerPoint avec des images
public static void AddNewSlide(PresentationPart parent, Slide _slideTemplate, string newId)
{
var newSlidePart = parent.AddNewPart<SlidePart>(newId);
newSlidePart.FeedData(_slideTemplate.SlidePart.GetStream(FileMode.Open));
newSlidePart.AddPart(_slideTemplate.SlidePart.SlideLayoutPart, _slideTemplate.SlidePart.GetIdOfPart(_slideTemplate.SlidePart.SlideLayoutPart));
newSlidePart.Slide.Save();
DocumentFormat.OpenXml.Presentation.SlideIdList slideIdList = parent.Presentation.SlideIdList;
uint maxSlideId = 1;
foreach (DocumentFormat.OpenXml.Presentation.SlideId slideId in slideIdList.ChildElements)
{
if (slideId.Id > maxSlideId) maxSlideId = slideId.Id;
}
DocumentFormat.OpenXml.Presentation.SlideId newSlideId = new DocumentFormat.OpenXml.Presentation.SlideId { Id = ++maxSlideId, RelationshipId = parent.GetIdOfPart(newSlidePart) };
slideIdList.Append(newSlideId);
}
Si la diapositive orig contient uniquement du texte, il fonctionne très bien, mais quand la lame orig Contans images aussi, le résultat doc PowerPoint bw corrompu. Les images sur la nouvelle diapositive ne seront pas affichées, juste avec un message: "Cette image ne peut pas être affichée actuellement."
Veuillez aider à cloner une diapositive avec des images. Merci d'avance.
Cela a fonctionné parfaitement pour moi. –