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
Use TextStamper in IronPDF when a C# application works with PDF editing. It represents stamps text content onto PDF pages with full styling control.
TextStamper matters when an application needs to configure or invoke PDF editing from C# code. The class encapsulates the related options and behavior in a single object that is set up once and reused across render or processing calls. Typical scenarios include batch generation pipelines, templated document workflows, and integration with existing C# document services.
To use TextStamper, instantiate or obtain it from the relevant entry point in the IronPDF C# API. Key properties include BackgroundColor, Color, FontFamily, FontSize. Assign options or invoke methods on the instance to configure or perform the operation. The stamping covers typical usage in C# end to end.
using IronPdf;
// Obtain TextStamper from the relevant entry point in the IronPDF API
void Configure(TextStamper instance)
{
var current = instance.BackgroundColor;
}For the broader workflow, see the stamp text image guide in the IronPDF C# documentation. For broader context, the PDF editing portion of the IronPDF C# API contains related types that work with TextStamper directly. TextStamper instances inherit additional members from Stamper that may be relevant in advanced scenarios. In application code, treat TextStamper as a configured object that is constructed once and reused across operations rather than instantiated per call. Configuration is generally idempotent: assigning the same property value twice has the same effect as assigning it once. For diagnostic purposes, inspect the relevant TextStamper property after each operation to confirm the configured state. See the constructors, properties, and methods tables below for the complete API surface of TextStamper. Application code typically obtains or instantiates a single TextStamper and shares it across multiple IronPDF operations rather than recreating it per call.
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 |