private static SlideLayoutPart CreateSlideLayoutPart(SlidePart slidePart1) { SlideLayoutPart slideLayoutPart1 = slidePart1.AddNewPart<SlideLayoutPart>("rId1"); SlideLayout slideLayout = new SlideLayout( new CommonSlideData(new ShapeTree( new P.NonVisualGroupShapeProperties( new P.NonVisualDrawingProperties() { Id = (UInt32Value)1U, Name = "" }, new P.NonVisualGroupShapeDrawingProperties(), new ApplicationNonVisualDrawingProperties()), new GroupShapeProperties(new TransformGroup()), new P.Shape( new P.NonVisualShapeProperties( new P.NonVisualDrawingProperties() { Id = (UInt32Value)2U, Name = "" }, new P.NonVisualShapeDrawingProperties(new ShapeLocks() { NoGrouping = true }), new ApplicationNonVisualDrawingProperties(new PlaceholderShape())), new P.ShapeProperties(), new P.TextBody( new BodyProperties(), new ListStyle(), new Paragraph(new EndParagraphRunProperties()))))), new ColorMapOverride(new MasterColorMapping())); slideLayoutPart1.SlideLayout = slideLayout; return slideLayoutPart1; }
internal void FeedDataSlidePart(SlidePart NewPart, SlidePart ExistingPart) { using (StreamReader sr = new StreamReader(ExistingPart.GetStream())) { using (StreamWriter sw = new StreamWriter(NewPart.GetStream(FileMode.Create))) { sw.Write(sr.ReadToEnd()); } } ImagePart imgpNew; if (ExistingPart.ChartParts != null) { ChartPart cpNew; foreach (ChartPart cp in ExistingPart.ChartParts) { cpNew = NewPart.AddNewPart<ChartPart>(ExistingPart.GetIdOfPart(cp)); this.FeedDataChartPart(cpNew, cp); } } if (ExistingPart.CustomXmlParts != null) { CustomXmlPart cxpNew; foreach (CustomXmlPart cxp in ExistingPart.CustomXmlParts) { cxpNew = NewPart.AddCustomXmlPart(cxp.ContentType, ExistingPart.GetIdOfPart(cxp)); this.FeedDataCustomXmlPart(cxpNew, cxp); } } if (ExistingPart.DiagramColorsParts != null) { DiagramColorsPart dcpNew; foreach (DiagramColorsPart dcp in ExistingPart.DiagramColorsParts) { dcpNew = NewPart.AddNewPart<DiagramColorsPart>(ExistingPart.GetIdOfPart(dcp)); this.FeedDataDiagramColorsPart(dcpNew, dcp); } } if (ExistingPart.DiagramDataParts != null) { DiagramDataPart ddpNew; foreach (DiagramDataPart ddp in ExistingPart.DiagramDataParts) { ddpNew = NewPart.AddNewPart<DiagramDataPart>(ExistingPart.GetIdOfPart(ddp)); this.FeedDataDiagramDataPart(ddpNew, ddp); } } if (ExistingPart.DiagramLayoutDefinitionParts != null) { DiagramLayoutDefinitionPart dldpNew; foreach (DiagramLayoutDefinitionPart dldp in ExistingPart.DiagramLayoutDefinitionParts) { dldpNew = NewPart.AddNewPart<DiagramLayoutDefinitionPart>(ExistingPart.GetIdOfPart(dldp)); this.FeedDataDiagramLayoutDefinitionPart(dldpNew, dldp); } } if (ExistingPart.DiagramPersistLayoutParts != null) { DiagramPersistLayoutPart dplpNew; foreach (DiagramPersistLayoutPart dplp in ExistingPart.DiagramPersistLayoutParts) { dplpNew = NewPart.AddNewPart<DiagramPersistLayoutPart>(ExistingPart.GetIdOfPart(dplp)); this.FeedDataDiagramPersistLayoutPart(dplpNew, dplp); } } if (ExistingPart.DiagramStyleParts != null) { DiagramStylePart dspNew; foreach (DiagramStylePart dsp in ExistingPart.DiagramStyleParts) { dspNew = NewPart.AddNewPart<DiagramStylePart>(ExistingPart.GetIdOfPart(dsp)); this.FeedDataDiagramStylePart(dspNew, dsp); } } if (ExistingPart.EmbeddedControlPersistenceBinaryDataParts != null) { EmbeddedControlPersistenceBinaryDataPart binNew; foreach (EmbeddedControlPersistenceBinaryDataPart bin in ExistingPart.EmbeddedControlPersistenceBinaryDataParts) { binNew = NewPart.AddEmbeddedControlPersistenceBinaryDataPart(bin.ContentType, ExistingPart.GetIdOfPart(bin)); this.FeedDataEmbeddedControlPersistenceBinaryDataPart(binNew, bin); } } if (ExistingPart.EmbeddedControlPersistenceParts != null) { EmbeddedControlPersistencePart ecppNew; foreach (EmbeddedControlPersistencePart ecpp in ExistingPart.EmbeddedControlPersistenceParts) { ecppNew = NewPart.AddEmbeddedControlPersistencePart(ecpp.ContentType, ExistingPart.GetIdOfPart(ecpp)); this.FeedDataEmbeddedControlPersistencePart(ecppNew, ecpp); } } if (ExistingPart.EmbeddedObjectParts != null) { EmbeddedObjectPart eopNew; foreach (EmbeddedObjectPart eop in ExistingPart.EmbeddedObjectParts) { eopNew = NewPart.AddEmbeddedObjectPart(ExistingPart.GetIdOfPart(eop)); this.FeedDataEmbeddedObjectPart(eopNew, eop); } } if (ExistingPart.EmbeddedPackageParts != null) { EmbeddedPackagePart eppNew; foreach (EmbeddedPackagePart epp in ExistingPart.EmbeddedPackageParts) { eppNew = NewPart.AddEmbeddedPackagePart(ExistingPart.GetIdOfPart(epp)); this.FeedDataEmbeddedPackagePart(eppNew, epp); } } foreach (ImagePart imgp in ExistingPart.ImageParts) { imgpNew = NewPart.AddImagePart(imgp.ContentType, ExistingPart.GetIdOfPart(imgp)); this.FeedDataImagePart(imgpNew, imgp); } #region NotesSlidePart // TODO: there are a lot of stuff here... #endregion if (ExistingPart.SlideCommentsPart != null) { NewPart.AddNewPart<SlideCommentsPart>(ExistingPart.GetIdOfPart(ExistingPart.SlideCommentsPart)); using (StreamReader sr = new StreamReader(ExistingPart.SlideCommentsPart.GetStream())) { using (StreamWriter sw = new StreamWriter(NewPart.SlideCommentsPart.GetStream(FileMode.Create))) { sw.Write(sr.ReadToEnd()); } } } #region SlideLayoutPart // TODO: there are a lot of stuff here... #endregion // what is going on? A SlidePart with SlideParts... // Hesitate to do this... if (ExistingPart.SlideParts != null) { SlidePart spNew; foreach (SlidePart sp in ExistingPart.SlideParts) { spNew = NewPart.AddNewPart<SlidePart>(ExistingPart.GetIdOfPart(sp)); this.FeedDataSlidePart(spNew, sp); } } if (ExistingPart.SlideSyncDataPart != null) { NewPart.AddNewPart<SlideSyncDataPart>(ExistingPart.GetIdOfPart(ExistingPart.SlideSyncDataPart)); using (StreamReader sr = new StreamReader(ExistingPart.SlideSyncDataPart.GetStream())) { using (StreamWriter sw = new StreamWriter(NewPart.SlideSyncDataPart.GetStream(FileMode.Create))) { sw.Write(sr.ReadToEnd()); } } } if (ExistingPart.ThemeOverridePart != null) { NewPart.AddNewPart<ThemeOverridePart>(ExistingPart.GetIdOfPart(ExistingPart.ThemeOverridePart)); this.FeedDataThemeOverridePart(NewPart.ThemeOverridePart, ExistingPart.ThemeOverridePart); } if (ExistingPart.UserDefinedTagsParts != null) { UserDefinedTagsPart udtpNew; foreach (UserDefinedTagsPart udtp in ExistingPart.UserDefinedTagsParts) { udtpNew = NewPart.AddNewPart<UserDefinedTagsPart>(ExistingPart.GetIdOfPart(udtp)); using (StreamReader sr = new StreamReader(udtp.GetStream())) { using (StreamWriter sw = new StreamWriter(udtpNew.GetStream(FileMode.Create))) { sw.Write(sr.ReadToEnd()); } } } } if (ExistingPart.VmlDrawingParts != null) { VmlDrawingPart vdpNew; foreach (VmlDrawingPart vdp in ExistingPart.VmlDrawingParts) { vdpNew = NewPart.AddNewPart<VmlDrawingPart>(ExistingPart.GetIdOfPart(vdp)); this.FeedDataVmlDrawingPart(vdpNew, vdp); } } }