0
PowerPointドキュメントの1つのスライドをクローンし、同じドキュメントにOpenXMLで挿入したいと思います。イメージで新しいPowerPointスライドを複製できませんでした
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);
}
ORIGスライドはテキストだけが含まれている場合は、それがうまく動作しますが、ORIGスライドがあまりにも画像をcontansとき、結果PowerPointのドキュメントが破損BWます:このために、私は次の関数を使用しています。新しいスライドの画像は表示されません。「この画像は現在表示できません」というメッセージが表示されます。
スライドを画像で複製する際にお役立てください。 ありがとうございます。
これは完全に機能しました。 –