Class ImageStamper
Stamps images onto PDF pages for logos, signatures, watermarks, and visual elements. Supports various image formats and flexible positioning/sizing options.
// Company logo:
var logo = new ImageStamper("logo.png") {
Width = new Length(100, MeasurementUnit.Pixel),
Height = new Length(50, MeasurementUnit.Pixel),
HorizontalAlignment = HorizontalAlignment.Right,
VerticalAlignment = VerticalAlignment.Top
};
pdf.ApplyStamp(logo);
// Signature on last page:
var signature = new ImageStamper("signature.jpg") {
HorizontalOffset = new Length(400, MeasurementUnit.Pixel),
VerticalOffset = new Length(100, MeasurementUnit.Pixel)
};
pdf.ApplyStamp(signature, pdf.PageCount - 1);
// Semi-transparent watermark:
var watermark = new ImageStamper("watermark.png") {
Opacity = 30,
Layer = StampLayer.BehindExistingPDFContent,
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Middle
};
pdf.ApplyStamp(watermark);
// From bitmap (requires disposal):
using (var stamper = new ImageStamper(myBitmap)) {
pdf.ApplyStamp(stamper);
}Supports PNG, JPG, GIF, BMP, TIFF, WEBP formats
Always dispose when using AnyBitmap constructor
See: https://ironpdf.com/how-to/stamping/#image-stamper
Implements
Inherited Members
Namespace: IronPdf.Editing
Assembly: IronPdf.dll
Syntax
public class ImageStamper : Stamper
PDF editing in IronPDF is handled through ImageStamper. It represents stamps images onto PDF pages for logos, signatures, watermarks, and visual elements.
ImageStamper 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 ImageStamper, instantiate or obtain it from the relevant entry point in the IronPDF C# API. Key properties include ImageUri. 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 ImageStamper from the relevant entry point in the IronPDF API
void Configure(ImageStamper instance)
{
var current = instance.ImageUri;
instance.CleanupTempFile();
}For the broader workflow, see the add copy delete pages PDF guide in the IronPDF C# documentation. For broader context, the PDF editing portion of the IronPDF C# API contains related types that work with ImageStamper directly. ImageStamper instances inherit additional members from Stamper that may be relevant in advanced scenarios. In application code, treat ImageStamper 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 ImageStamper property after each operation to confirm the configured state. See the constructors, properties, and methods tables below for the complete API surface of ImageStamper. Application code typically obtains or instantiates a single ImageStamper and shares it across multiple IronPDF operations rather than recreating it per call.
Constructors
ImageStamper(AnyBitmap)
Initializes a new instance of the ImageStamper class.
Declaration
public ImageStamper(AnyBitmap bitmap)
Parameters
| Type | Name | Description |
|---|---|---|
| IronSoftware.Drawing.AnyBitmap | bitmap | The image to be stamped by this stamper |
Remarks
Creates a temporary file that will be automatically deleted when disposed.
For proper cleanup, always use this constructor within a 'using' statement or call Dispose() when done.
ImageStamper(String)
Initializes a new instance of the ImageStamper class.
Declaration
public ImageStamper(string imagePath)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | imagePath | The path of the image to be stamped by this stamper |
ImageStamper(Uri)
Initializes a new instance of the ImageStamper class.
Declaration
public ImageStamper(Uri imageUri)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Uri | imageUri | The uri of the image to be stamped by this stamper |
Properties
ImageUri
The path of the image to be stamped by this stamper
Declaration
public Uri ImageUri { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Uri |
Methods
CleanupTempFile()
Manually clean up the temporary file created from AnyBitmap.
Declaration
public void CleanupTempFile()
Dispose()
Releases all resources used by the ImageStamper.
Declaration
public void Dispose()
Dispose(Boolean)
Releases the unmanaged resources used by the ImageStamper and optionally releases the managed resources.
Declaration
protected virtual void Dispose(bool disposing)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | disposing | true to release both managed and unmanaged resources; false to release only unmanaged resources. |
Finalize()
Finalizer to ensure unmanaged resources are cleaned up even if Dispose is not called explicitly.
Declaration
protected override void Finalize()