我正在将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 ?
}
}
}
}