Вставить изображение из байтового массива в 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 и использовать его для управления содержимым изображения.