C# 从其他word文档复制的图片为空

C# 从其他word文档复制的图片为空,c#,reporting-services,openxml,openxml-sdk,wordprocessingml,C#,Reporting Services,Openxml,Openxml Sdk,Wordprocessingml,我生成一个SSRS报告,并将其另存为Word文档。该文档包含图片(图表为平面图像)。 我并没有真正保存Word文档,而是在内存中打开了它 然后我使用OpenXML创建另一个word文档,其中我需要复制SSRS报告中的图片 我试图从ssrs报告中获取图纸,并将其插入到新word文档中 MainDocumentPart ssrsMainPart = ssrsDoc.MainDocumentPart; var drawings = ssrsMainPart.Document.Descendants&l

我生成一个SSRS报告,并将其另存为Word文档。该文档包含图片(图表为平面图像)。 我并没有真正保存Word文档,而是在内存中打开了它

然后我使用OpenXML创建另一个word文档,其中我需要复制SSRS报告中的图片

我试图从ssrs报告中获取图纸,并将其插入到新word文档中

MainDocumentPart ssrsMainPart = ssrsDoc.MainDocumentPart;
var drawings = ssrsMainPart.Document.Descendants<Drawing>().ToList();
但在那之后,我再也无法用Word 365打开文档,Word报告文档已损坏

MainDocumentPart mainPart = wordDoc.MainDocumentPart;
Body body = mainPart.Document.Body;

for (int i = 0; i < 10; i++)
{
    if (i < drawings.Count())
    {
        var myDrawing = drawings.Skip(i).First();
        myDrawing.Remove();
        body.Append(myDrawing); 
        body.Append(new Paragraph());
    }
}
foreach (var e in ssrsDoc.MainDocumentPart.Document.Body.Elements())
{
    var clonedElement = e.CloneNode(true);
    clonedElement.Descendants<DocumentFormat.OpenXml.Drawing.Blip>().ToList().ForEach(blip =>
    {
        var newRelation = wordDoc.CopyImage(blip.Embed, ssrsDoc);
        blip.Embed = newRelation;
    });
    clonedElement.Descendants<DocumentFormat.OpenXml.Vml.ImageData>().ToList().ForEach(imageData =>
    {
        var newRelation = wordDoc.CopyImage(imageData.RelationshipId, ssrsDoc);
        imageData.RelationshipId = newRelation;
    });
    wordDoc.MainDocumentPart.Document.Body.AppendChild(clonedElement);
}
public static string CopyImage(this WordprocessingDocument newDoc, string relId, WordprocessingDocument org)
{
    var p = org.MainDocumentPart.GetPartById(relId) as ImagePart;
    var newPart = newDoc.MainDocumentPart.AddPart(p);
    newPart.FeedData(p.GetStream());
    return newDoc.MainDocumentPart.GetIdOfPart(newPart);
}