Openxml图像内容控件

时间:2015-04-21 12:45:41

标签: c# openxml

我以base64格式存储在我的数据库中的图像。我想在这里问的第一个问题是它是存储它的最佳方式吗?

接下来,我试图通过openxml将此图像放入Word文档中。我已经用简单的文本填充了文档,但我无法将base64字符串转换为图像,然后将其放在word文档中。

任何建议或指导都会很明显。

1 个答案:

答案 0 :(得分:1)

要添加图像,可以使用ImagePart对象然后将流传递给。这是详细的on msdn

MainDocumentPart mainPart = wordprocessingDocument.MainDocumentPart;
ImagePart imagePart = mainPart.AddImagePart(ImagePartType.Jpeg);
using (FileStream stream = new FileStream(fileName, FileMode.Open))
{
    imagePart.FeedData(stream);
}
AddImageToBody(wordprocessingDocument, mainPart.GetIdOfPart(imagePart));

ImagePart.FeedData接受Stream,因此示例使用FileStream,您可以将其交换出来并使用MemoryStream。

var bytes = System.Convert.FromBase64String(yourBase64String);
using (Stream stream = new MemoryStream(byteArray))
{
    imagePart.FeedData(stream);
}