2011-07-27 3 views
3

Je travaille avec un document de modèle qui utilise CustomXmlBlocks comme espaces réservés pour placer des tables et d'autres informations. Je dois pouvoir placer une image dans l'un de ces blocs d'une façon ou d'une autre ... même si elle est placée en premier.Insérer une image du tableau d'octets dans OpenXML CustomXmlBlock

Les images reviennent de la base de données dans un ensemble de données en tant que tableau d'octets (format .bmp en fin de compte).

Je tentais de faire quelque chose comme ça, juste pour voir si je pouvais même obtenir l'image pour apparaître dans le document, mais en vain:

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

imagePart.FeedData(imageStream); 

Je continue à penser qu'il doit y avoir un moyen facile juste prendre le flux d'octets et le placer dans le document, mais je n'ai pas été en mesure de trouver des exemples partout. Dois-je maintenant faire autre chose avec cette imagePart?

Répondre

0

Oui, vous devez faire autre chose avec imagePart; Vous devez ajouter une structure d'image (soit un ancien VML w: pict ou un graphique) à votre partie de document principal qui s'y réfère. Voir How to: Insert a Picture into a Word Processing Document

Vous pouvez également l'ajouter à une partie CustomXML et l'insérer dans un contrôle de contenu d'image.