Skip to main content
All docs
V23.2

WatermarkManager.SetText(String, TextWatermarkOptions) Method

Adds a text watermark to all document pages.

Namespace: DevExpress.XtraRichEdit.API.Native

Assembly: DevExpress.RichEdit.v23.2.Core.dll

NuGet Packages: DevExpress.RichEdit.Core, DevExpress.Win.Navigation

Declaration

void SetText(
    string text,
    TextWatermarkOptions options
)

Parameters

Name Type Description
text String

The watermark text.

options TextWatermarkOptions

An object that contains text watermark options.

Exceptions

Type Description
InvalidOperationException

Occurs if the text parameter is null, an empty string, or contains only spaces.

Remarks

Watermarks are located in section headers. If a document does not contain headers, a SetText method call adds headers of the Primary type to all document sections.

If the document has multiple sections, this method adds the same watermark to each section and each existing section header (first, primary, odd, or even).

The WatermarkManager.Type property indicates whether the document has watermarks. The property returns WatermarkType.None if the document does not contain watermarks.

Example

The code sample below adds a text watermark to all document pages.

image

using (RichEditDocumentServer wordProcessor = new RichEditDocumentServer())
{
    wordProcessor.LoadDocument("DocumentProtection.docx");

    TextWatermarkOptions textWatermarkOptions = new TextWatermarkOptions();
    textWatermarkOptions.Color = System.Drawing.Color.LightGray;
    textWatermarkOptions.FontFamily = "Calibri";
    textWatermarkOptions.Layout = WatermarkLayout.Diagonal;
    textWatermarkOptions.Semitransparent = true;

    wordProcessor.Document.WatermarkManager.SetText("CONFIDENTIAL", textWatermarkOptions);
    wordProcessor.SaveDocument("DocumentProtection_new.docx", DocumentFormat.OpenXml);
}

The following code snippets (auto-collected from DevExpress Examples) contain references to the SetText(String, TextWatermarkOptions) method.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also