J'essaie de remplacer un espace réservé d'élément de texte par une image dans un docx openXML.Insérer une chaîne XML dans un document openXML
J'ai trouvé un tutoriel here qui semble faire ce dont j'ai besoin, mais je ne suis pas tout à fait ce qu'il fait pour insérer l'image.
Fondamentalement, j'ai un 'modèle d'image' XML stocké dans une chaîne. Je peux stocker mon image dans le dossier média et insérez l'ID d'image dans la chaîne XML:
string imageNode
= _xml.Replace("##imageId##", documentMainPart.GetIdOfPart(newImage));
maintenant j'ai le code XML correct comme une chaîne que je dois insérer dans le document.
je peux trouver mon nœud de texte d'espace réservé que je veux remplacer par la nouvelle image XML
var placeholder = documentMainPart.Document.Body
.Descendants<DocumentFormat.OpenXml.Wordprocessing.Text>()
.Where(t => t.Text.Contains("##imagePlaceholder##")).First();
Mais c'est là que je suis bloqué. Je ne peux pas voir comment faire un remplacement/insertion qui prendra une chaîne XML. J'ai réussi à obtenir ma sortie XML en tant que texte dans le document, mais je me suis efforcé de le convertir en un élément XML.