With Spire.Doc for .NET, we can easily insert new text to word document at exact position, it also supports to insert new text after the certain text strings at many places. This article will show you how to insert new text strings after the searched text string in word document.
using Spire.Doc; using Spire.Doc.Documents; using Spire.Doc.Fields; using System.Drawing; namespace Word { class Program { static void Main(string[] args) { //load the sample document Document doc = new Document(); doc.LoadFromFile("Sample.docx", FileFormat.Docx2010); //find all the text string “New Zealand” from the sample document TextSelection[] selections = doc.FindAllString("New Zealand", true, true); int index = 0; //defines text range TextRange range = new TextRange(doc); //insert new text string (NY) after the searched text string foreach (TextSelection selection in selections) { range = selection.GetAsOneRange(); TextRange newrange = new TextRange(doc); newrange.Text = ("(NY)"); index = range.OwnerParagraph.ChildObjects.IndexOf(range); range.OwnerParagraph.ChildObjects.Insert(index + 1, newrange); } //find and highlight the newly added text string NY TextSelection[] text2 = doc.FindAllString("NY", false, true); foreach (TextSelection seletion in text2) { seletion.GetAsOneRange().CharacterFormat.HighlightColor = Color.Yellow; } //save the document doc.SaveToFile("Result.docx", FileFormat.Docx2010); } } }
Effective screenshot after adding the text strings to the searched text: