コード例 #1
0
 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;
 }
コード例 #2
0
        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);
                }
            }
        }