OpemXML Word doc - Поиск текста и выделение его - PullRequest
0 голосов
/ 11 октября 2018

Я использую OpenXML для документа word - чтобы найти конкретный текст и выделить его (изменив его цвет на желтый).Я вижу, что не так просто изменить любой цвет текста.Я следую ниже ссылку MSDN для того же.Разве нет простого подхода к тому же.просто выделив текст.Я запутался с этими строками (в ссылке msdn) - Почему мы должны сначала заменить текст пустым, а затем вставить его снова, почему мы не можем просто выделить текст поиска, применив к нему цвет.

    run.GetFirstChild<Text>().Text = textOfRun.Replace(text, "");

// This line Insert after some other position it does not insert at the same position where it has replaced with blank.
    paragraph.InsertAfter(HighLightRun, runAfter);`



https://social.msdn.microsoft.com/Forums/en-US/7d844919-fc5a-4376-b42b-41b12ec6aa41/applying-font-to-to-a-word-in-docx-using-open-xml?forum=oxmlsdk

Как мы можем применить стиль / цвет в коде ниже?

 foreach (var para in paras)
 {
    foreach (var run in para.Elements<DocumentFormat.OpenXml.Wordprocessing.Run>())
      {
          foreach (var text in run.Elements<DocumentFormat.OpenXml.Wordprocessing.Text>())
    {
        if (text.Text.Contains("abc"))
      {
           // Can we write here some line of code to apply color to this text ?
      }
          }
            }
                }
...