using GroupDocs.Watermark;
using GroupDocs.Watermark.Search.SearchCriteria;
using GroupDocs.Watermark.Search;

namespace UpdateWatermarkTextinDOCXUsingCSharp
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Set License to avoid the limitations of Watermark library
            License lic = new License();
            lic.SetLicense(@"GroupDocs.Watermark.lic");

            using (Watermarker watermarker = new Watermarker("input.docx"))
            {
                // Search watermark matching a particular text
                TextSearchCriteria searchCriteria = new 
                    TextSearchCriteria("Watermark Text", false);
                PossibleWatermarkCollection possibleWatermarks = 
                    watermarker.Search(searchCriteria);
                Console.WriteLine("Found {0} possible watermark(s).", 
                    possibleWatermarks.Count);
                foreach (PossibleWatermark watermark in possibleWatermarks)
                {
                    // Update text
                    watermark.Text = "Modified Watermark Text";
                }
                // Save document
                watermarker.Save("output.docx");
            }
        }
    }
}