0

コードは次のとおりです。

 using (PresentationDocument presentationDocumentObj = PresentationDocument.Open(memoryStreamObj,true))
 {
      PresentationPart presentationPart = presentationDocument.PresentationPart;

            // Check for a null document object.
            if (presentationDocument == null)
            { 
                throw new ArgumentNullException("presentationDocument");
            }


            // Get the Slide Id collection of the presentation document
            var slideIdList = presentationPart.Presentation.SlideIdList;

            if (slideIdList == null)
                throw new NullReferenceException("The number of slide is empty, please select a ppt with a slide at least again");

            // Get all Slide Part of the presentation document 
            var list = slideIdList.ChildElements.Cast<SlideId>().Select(x => presentationPart.GetPartById(x.RelationshipId)).Cast<SlidePart>();

 }

コードの最後の行により、PowerPoint テンプレートが破損します。私のopenxmlバージョンは2.5です。どこが間違っているのか教えてください。

  • 編集

これがmemoryStreamObjをロードする方法です。

byte[] reportByteArray = null;
        using (MemoryStream memoryStreamObj = new MemoryStream())
        {
            memoryStreamObj.Write(reportTemplateByteArray, 0, (int)reportTemplateByteArray.Length);
            using (PresentationDocument presentationDocumentObj = PresentationDocument.Open(memoryStreamObj,true))
         {                   
               //made changes to template

         }
            reportByteArray = memoryStreamObj.GetBuffer();
     }
4

1 に答える 1