Как установить изображение в прямоугольник с помощью OpenXML?

#openxml #openxml-sdk

#openxml #openxml-sdk

Вопрос:

У меня есть Rectange файл в шаблоне PPTX и настройка name ="Img"

Я хочу настроить изображение на это Rectange :

Это мой код, но я не могу позвонить shape.Append(part); :

 // Open the source document as read/write. 
using (var presentationDocument = PresentationDocument.Open(strFile, true))
{
    
    var presentationPart = presentationDocument.PresentationPart;
    var templatePart = GetSlidePartsInOrder( presentationPart).Last();
    for(int i = 0; i < 2; i  )
    {
        int ifile = i   1;
        string path = @"F:AUTOMt"  ifile ".png";
        var newSlidePart = CloneSlide(templatePart);
        // Get the shape tree that contains the shape to change.
        P.ShapeTree tree = newSlidePart.Slide.CommonSlideData.ShapeTree;
        var shapes = from shape in newSlidePart.Slide.Descendants < P.Shape>()                                 
                     select shape;
        foreach (var shape in shapes)
        {
            if(shape.OuterXml.Contains("name="Img""))
            {
                var part = newSlidePart.AddImagePart(ImageExtension(path));                         
                using (var stream = File.OpenRead(path))
                {
                    part.FeedData(stream);
                }                            
                **//shape.Append(part);**
               
            }
            else
            {
                // Specify the text of the title shape.
                foreach (Paragraph paragraph in shape.Descendants().OfType<Paragraph>())
                {
                    foreach (Run run in paragraph.Elements<Run>())
                    {                                
                        run.Text = new Text("Your new text");
                        
                    }
                }
            }
        }

        AppendSlide(presentationPart, newSlidePart);
    }
   

    // Save the modified presentation.
    presentationPart.Presentation.Save();

    DeleteTemplateSlide(presentationDocument);
}
 

Как установить изображение в прямоугольник с помощью OpenXML?