Вставить изображение из байтового массива в OpenXML CustomXmlBlock - PullRequest
5 голосов
/ 28 июля 2011

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

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

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

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

imagePart.FeedData(imageStream);

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

1 Ответ

1 голос
/ 29 июля 2011

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

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

...