Вставить изображение из байтового массива в OpenXML CustomXmlBlock

Я работаю с шаблонным документом, который использует CustomXmlBlocks в качестве заполнителей для размещения таблиц и другой информации. Мне нужно каким-то образом поместить изображение в один из этих блоков... даже если оно сначала будет запущено.

Изображения возвращаются из базы данных в наборе данных в виде байтового массива (в конечном счете, в формате.bmp).

Я пытался сделать что-то вроде этого, просто чтобы посмотреть, смогу ли я получить изображение для отображения в документе, но безрезультатно:

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

imagePart.FeedData(imageStream);

Я продолжаю думать, что должен быть простой способ просто взять поток байтов и поместить его в документ, но я нигде не смог найти никаких примеров. Теперь мне нужно сделать что-то еще с этим imagePart?

1 ответ

Решение

Да, вам нужно сделать что-то еще с imagePart; вам нужно добавить структуру изображения (старый VML w:pict или рисунок) в основную часть документа, которая на него ссылается. См. Как вставить изображение в текстовый документ

Кроме того, вы можете добавить его в деталь CustomXML и использовать его для управления содержимым изображения.

Другие вопросы по тегам