Word Find function can enable users to search for specific text or phrase quickly. Generally speaking, the found text will be highlighted automatically in order to distinguish from other contents. Also, users can format found text, such as set it as italic, bold etc.
Spire.Doc for WPF, a professional WPF component on manipulating Word, enables users to find and highlight text in Word with WPF. With this Word WPF component, developers can invoke doc.FindAllString(text string, bool caseSensitive, bool wholeWord) method directly to find text in Word. And for highlighting found text, developers need Firstly, use TextSelection, the class Spire.Doc for WPF provides, to save found string. Then, use foreach sentence to get each selection in this TextSelection. Finally, set HighlightColor, one properties of TextRange.CharacterFormat, for text in selection.
Below, the screenshot shows a Word document whose specified text has be found and highlighted.
Download and install Spire.Doc for WPF and then use the codes below to Find and Highlight Text in Word
Code Sample:
using Spire.Doc; using Spire.Doc.Documents; using System.Drawing; using System.Windows; namespace WpfApplication1 { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); } private void button1_Click(object sender, RoutedEventArgs e) { //Load Document Document doc = new Document(); doc.LoadFromFile(@"E:\work\Documents\A GOOD MAN IS HARD TO FIND.docx"); //Find Text TextSelection[] textSelections = doc.FindAllString("Bailey", true, true); //Highlight Text foreach (TextSelection selection in textSelections) { selection.GetAsOneRange().CharacterFormat.HighlightColor = Color.Green; } //Save Document doc.SaveToFile("FindText.docx", FileFormat.Docx2010); System.Diagnostics.Process.Start("FindText.docx"); } } }
Imports Spire.Doc Imports Spire.Doc.Documents Imports System.Drawing Imports System.Windows Namespace WpfApplication1 Public Partial Class MainWindow Inherits Window Public Sub New() InitializeComponent() End Sub Private Sub button1_Click(sender As Object, e As RoutedEventArgs) 'Load Document Dim doc As New Document() doc.LoadFromFile("E:\work\Documents\A GOOD MAN IS HARD TO FIND.docx") 'Find Text Dim textSelections As TextSelection() = doc.FindAllString("Bailey", True, True) 'Highlight Text For Each selection As TextSelection In textSelections selection.GetAsOneRange().CharacterFormat.HighlightColor = Color.Green Next 'Save Document doc.SaveToFile("FindText.docx", FileFormat.Docx2010) System.Diagnostics.Process.Start("FindText.docx") End Sub End Class End Namespace
Spire.Doc is a Microsoft Word component, which enables users to perform a wide range of Word document processing tasks directly, such as generate, read, write and modify Word document in WPF, .NET and Silverlight.