将字节数组中的图像插入OpenXML CustomXmlBlock

Sun*_*pot 5 docx openxml openxml-sdk wordprocessingml

我正在使用一个模板文档,该模板使用CustomXmlBlocks作为占位符来放置表和其他信息。我需要能够以某种方式将图像放入这些块之一中,即使将其首先放入运行中也是如此。

图像以字节数组(最终为.bmp格式)从数据库的数据集中返回。

我试图做这样的事情,只是为了查看是否可以将图像显示在文档中,但无济于事:

ImagePart imagePart = mainPart.AddImagePart(ImagePartType.Bmp);
MemoryStream imageStream = new MemoryStream(imgData); //imgData is the byte array

imagePart.FeedData(imageStream);
Run Code Online (Sandbox Code Playgroud)

我一直认为必须有一种简单的方法来获取字节流并将其放入文档中,但是我一直无法在任何地方找到任何示例。我现在是否需要对该imagePart做其他事情?

Jas*_*ext 1

是的,您确实需要对 imagePart 做一些其他的事情;您需要将图像结构(旧的 VML w:pict 或图形)添加到引用它的主文档部分。请参阅如何:将图片插入到字处理文档中

或者,您可以将其添加到 CustomXML 部件,并使用图片内容控件将其吸收。