Заменить текст с изображением слова - PullRequest
0 голосов
/ 13 января 2020

я хочу текстовый тег с изображением

var doc = DocX.Load("C:\\tm.docx");
        doc.ReplaceText("##Date_Date##", Convert.ToString(DateTime.Today), false);
        doc.ReplaceText("##text##", richTextBox1.Text, false);
        doc.ReplaceText("##number##", textBox1.Text, false);
        doc.ReplaceText("##User_name##", textBox3.Text, false);
        doc.ReplaceText("##dep_name##", textBox4.Text, false);

у меня есть другой тег ## image ##.

doc.SaveAs("C:\\tm0"+textBox1.Text+".docx");

1 Ответ

0 голосов
/ 13 января 2020

Вот как я это сделал. Я загружаю текстовый документ из файла (своего рода шаблон), затем ищу определенные текстовые теги c и заменяю их.

Изображение, которое я хочу вставить, сначала сохраняется как временный файл.

DocX document = DocX.Load(filename);
string pictureFile = ... //"path and name of temp picture file, to include";

var docxImage = document.AddImage(pictureFile);
string rtag = "<<Tag.I.Want.To.Replace.Diagram>>";

var paragraphs = document.Paragraphs.Where(x => x.Text.Contains(rtag));
foreach (var paragraph in paragraphs)
{
    paragraph.InsertPicture(docxImage.CreatePicture(600, 600), 0);
    paragraph.ReplaceText(rtag, "");
}
...