Class TextStamper
Stamps text content onto PDF pages with full styling control. Perfect for watermarks, page numbers, annotations, and dynamic text overlay.
// Simple watermark:
var watermark = new TextStamper("CONFIDENTIAL") {
FontSize = 60,
Color = Color.Red,
Opacity = 30,
Rotation = -45,
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Middle
};
pdf.ApplyStamp(watermark);
// Page numbers:
var pageNum = new TextStamper("Page {page} of {total-pages}") {
FontFamily = "Arial",
FontSize = 10,
VerticalAlignment = VerticalAlignment.Bottom
};
pdf.ApplyStamp(pageNum);
// Bold approval stamp:
var approved = new TextStamper("APPROVED") {
IsBold = true,
FontSize = 48,
Color = Color.Green,
BackgroundColor = Color.LightYellow
};
pdf.ApplyStamp(approved, 0); // First page onlySupports {page} and {total-pages} merge fields
Google Fonts require UseGoogleFont = true
See: https://ironpdf.com/how-to/stamping/#text-stamper
Inherited Members
Namespace: IronPdf.Editing
Assembly: IronPdf.dll
Syntax
public class TextStamper : Stamper
Constructors
TextStamper(Int32)
Initializes a new instance of the TextStamper class. This will also automatically wait for all fonts to be loaded before rendering.
Declaration
public TextStamper(int maxWaitTime = 10000)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | maxWaitTime | Maximum wait time to wait for all fonts to be loaded before rendering. Default value is 10,000 ms or 10 seconds. |
TextStamper(String, Int32)
Initializes a new instance of the TextStamper class. This will also automatically wait for all fonts to be loaded before rendering.
Declaration
public TextStamper(string text, int maxWaitTime = 10000)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | text | The text to be stamped by the Stamper |
| System.Int32 | maxWaitTime | Maximum wait time to wait for all fonts to be loaded before rendering. Default value is 10,000 ms or 10 seconds. |
Properties
BackgroundColor
Background Color. Default is transparent.
Declaration
public Color BackgroundColor { get; set; }
Property Value
| Type | Description |
|---|---|
| IronSoftware.Drawing.Color |
Color
Font Color. Default is black.
Declaration
public Color Color { get; set; }
Property Value
| Type | Description |
|---|---|
| IronSoftware.Drawing.Color |
FontFamily
Font family name for the text.
Note: If using a web font from https://fonts.google.com/ then you must set UseGoogleFont property of this TextStamper to true.Declaration
public string FontFamily { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
FontSize
Font size in pixels (default: 12px). Watermarks typically 40-100px, headers 14-20px, footers 8-12px.
stamper.FontSize = 60; // Large watermark
stamper.FontSize = 10; // Small footer
Declaration
public int FontSize { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
IsBold
Determines if the bold font weight is applied. Use for emphasis, headings, or important notices.
stamper.IsBold = true; // APPROVED, CONFIDENTIAL, etc.
Declaration
public bool IsBold { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
IsItalic
Determines if the text has the italic font style applied. Use for quotes, references, or stylistic emphasis.
stamper.IsItalic = true; // "Draft Version"
Declaration
public bool IsItalic { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
IsStrikethrough
Determines if the text has a strike-through applied. Use for obsolete content, corrections, or void marks.
stamper.IsStrikethrough = true; // VOID, CANCELLED
Declaration
public bool IsStrikethrough { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
IsUnderline
Determines if the text has an underline font style applied. Use for hyperlinks, emphasis, or legal text.
stamper.IsUnderline = true; // Important notice
Declaration
public bool IsUnderline { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Text
The text to be stamped by the Stamper. Supports merge fields: {page}, {total-pages}, {date}, {time}.
stamper.Text = "Page {page} of {total-pages}";
stamper.Text = "Generated on {date} at {time}";
Declaration
public string Text { get; set; }
Property Value
| Type | Description |
|---|---|
| System.String |
UseGoogleFont
Must be set to true, when using FontFamily from https://fonts.google.com/ as a web font
Declaration
public bool UseGoogleFont { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |