1

我将 PNG 图像添加到 word 2010 文档中,如下所示:

var imagePart = report.MainDocumentPart.AddImagePart(ImagePartType.Png);
var imagePath = Path.Combine(imageFolder, "1.png");
var stream = new FileStream(imagePath, FileMode.Open);
imagePart.FeedData(stream);
stream.Close();

我找到了一个空的 Picture 内容控件的 blip 元素,并将其引用属性更改为指向新图像:

var blip = image.Descendants<Blip>().Single();
blip.Embed = report.MainDocumentPart.GetIdOfPart(imagePart);

我保存生成的文档,并使用 Open XML Productivity Tool 对其进行验证。我收到此错误:

The relationship 'Ra4d8ccdc5256bb1' referenced by attribute 'http://schemas.openxmlformats.org/officeDocument/2006/relationships:embed' does not exist.

什么是关系?为什么不AddImagePart创建一个?如何修复此错误?当我在 Word 中打开生成的文档时,图像不显示。

4

2 回答 2

1

我找到了解决方案。我不知道为什么,但我必须附上

WordprocessingDocument report = WordprocessingDocument.Open(path, true)

有这样的using声明:

using(WordprocessingDocument report = WordprocessingDocument.Open(path, true)) {
    //embed the image
}

没有正确保存using文档:没有创建关系。

于 2012-06-29T08:00:34.623 回答
0

您可以找到一个示例@http: //msdn.microsoft.com/en-us/library/bb497430.aspx

于 2012-06-26T09:03:22.807 回答