Stamp Text & Image on PDFs using C# and IronPDF
IronPDF estampa texto, imágenes, contenido HTML y códigos de barras en documentos PDF existentes en C# utilizando las clases ,, , y con control de posicionamiento preciso.
La estampación superpone contenido adicional a documentos PDF existentes. Los sellos añaden información, etiquetas, marcas de agua o anotaciones a los PDF. Utilice sellos para añadir encabezados y pies de página o crear marcas de agua personalizadas con las completas funciones de sellado de IronPDF.
IronPDF proporciona cuatro estampadores: ,, , y. `` utiliza todas las características de HTML con estilo CSS, similar a convertir cadenas HTML a PDF.
Inicio rápido: Estampar texto en archivos PDF al instante
Utilice la clase de IronPDF para agregar anotaciones de texto, marcas de agua o etiquetas a documentos PDF. El ejemplo a continuación demuestra cómo estampar texto en un PDF usando el método.
-
Instala IronPDF con el Administrador de Paquetes NuGet
PM > Install-Package IronPdf -
Copie y ejecute este fragmento de código.
var pdf = new IronPdf.PdfDocument("input.pdf"); var stamper = new IronPdf.Editing.TextStamper() { Text = "Confidential", FontSize = 50, Opacity = 50, VerticalAlignment = IronPdf.Editing.VerticalAlignment.Middle, HorizontalAlignment = IronPdf.Editing.HorizontalAlignment.Center }; pdf.ApplyStamp(stamper); pdf.SaveAs("stamped.pdf"); -
Despliegue para probar en su entorno real
Comienza a usar IronPDF en tu proyecto hoy mismo con una prueba gratuita
Flujo de trabajo mínimo (5 pasos)
- Descargue la biblioteca C# para estampar texto e imagen
- Cree y configure la clase de estampador deseado
- Utilice el método
ApplyStamppara aplicar el sello al PDF - Aplicar múltiples sellos mediante el método
ApplyMultipleStamps - Especifique páginas particulares para aplicar los sellos
¿Cómo estampar texto en PDF?
Cree un objeto que contenga todas las configuraciones de visualización. Pase el objeto al método . La propiedad establece el texto mostrado. Configure la familia de fuentes, el estilo de fuente y la ubicación del sello.
ofrece amplias opciones de personalización similares a [gestionar fuentes](https://ironpdf.com/how-to/manage-fonts/) en documentos PDF. Utilice las fuentes del sistema o Google Fonts estableciendo en verdadero.
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-text.cs
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create text stamper
Private textStamper As New TextStamper() With {
.Text = "Text Stamper!",
.FontFamily = "Bungee Spice",
.UseGoogleFont = True,
.FontSize = 30,
.IsBold = True,
.IsItalic = True,
.VerticalAlignment = VerticalAlignment.Top
}
' Stamp the text stamper
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")
¿Qué aspecto tiene el PDF de salida?
¿Cómo puedo crear sellos de texto de varias líneas?
Utilice la etiqueta para texto de varias líneas en. Por ejemplo, "línea 1
línea 2" produce "línea 1" en la primera línea y "línea 2" en la segunda. Así se crean sellos de dirección o marcas de agua de varias líneas.
¿Cómo estampar imágenes en PDF?
Cree un objeto y utilice el método para aplicar imágenes a documentos. El segundo parámetro del método acepta un índice de página para estampar páginas individuales o múltiples. En el ejemplo siguiente se estampa la imagen de la página 1 del PDF.
Para operaciones de imagen complejas, explore añadir imágenes a PDF o trabajar con imágenes codificadas en base64.
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-image.cs
using IronPdf;
using IronPdf.Editing;
using System;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create image stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0);
pdf.SaveAs("stampImage.pdf");
Imports IronPdf
Imports IronPdf.Editing
Imports System
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create image stamper
Private imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {.VerticalAlignment = VerticalAlignment.Top}
' Stamp the image stamper
pdf.ApplyStamp(imageStamper, 0)
pdf.SaveAs("stampImage.pdf")
¿Qué aspecto tiene la salida del sello de imagen?
¿Qué formatos de imagen son compatibles?
`` admite PNG, JPEG, GIF y SVG a través de referencias URI o rutas de archivo. Garantizar una conectividad de red adecuada para las imágenes remotas. Para entornos Azure, considere el uso de imágenes de Azure Blob Storage.
¿Cómo puedo aplicar varios sellos?
Use `` para aplicar múltiples estampas pasando un arreglo de estampadores. Este método procesa eficazmente varios sellos en una sola operación.
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-multiple-stamps.cs
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create two text stampers
TextStamper stamper1 = new TextStamper()
{
Text = "Text stamp 1",
VerticalAlignment = VerticalAlignment.Top,
HorizontalAlignment = HorizontalAlignment.Left,
};
TextStamper stamper2 = new TextStamper()
{
Text = "Text stamp 2",
VerticalAlignment = VerticalAlignment.Top,
HorizontalAlignment = HorizontalAlignment.Right,
};
Stamper[] stampersToApply = { stamper1, stamper2 };
// Apply multiple stamps
pdf.ApplyMultipleStamps(stampersToApply);
pdf.SaveAs("multipleStamps.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create two text stampers
Private stamper1 As New TextStamper() With {
.Text = "Text stamp 1",
.VerticalAlignment = VerticalAlignment.Top,
.HorizontalAlignment = HorizontalAlignment.Left
}
Private stamper2 As New TextStamper() With {
.Text = "Text stamp 2",
.VerticalAlignment = VerticalAlignment.Top,
.HorizontalAlignment = HorizontalAlignment.Right
}
Private stampersToApply() As Stamper = { stamper1, stamper2 }
' Apply multiple stamps
pdf.ApplyMultipleStamps(stampersToApply)
pdf.SaveAs("multipleStamps.pdf")
¿Qué ocurre cuando los sellos se superponen?
¿Puedo mezclar diferentes tipos de sellos?
acepta arreglos que contienen cualquier tipo de estampador. Combine, ,, y `` en una sola operación. Cree diseños de documentos complejos con encabezados, pies de página, marcas de agua y códigos de identificación simultáneamente.
¿Cómo controlo la ubicación de los sellos?
Defina la colocación de los sellos utilizando una cuadrícula de 3x3 con tres columnas horizontales y tres filas verticales. Elija la alineación horizontal: izquierda, centro, derecha. Elija la alineación vertical: superior, central, inferior. Ajuste las compensaciones horizontales y verticales para un posicionamiento preciso. Véase la siguiente imagen para una representación visual.
¿Cuáles son las principales propiedades de posicionamiento?
: Alineación horizontal relativa a la página. Por defecto:.: Alineación vertical relativa a la página. Por defecto:.: Desplazamiento horizontal. Por defecto: 0, unidad:. Valores positivos desplazados a la derecha, valores negativos desplazados a la izquierda.: Desplazamiento vertical. Por defecto: 0, unidad:. Los valores positivos se desplazan hacia abajo y los negativos hacia arriba.
¿Cómo puedo establecer desplazamientos precisos?
Especifique y utilizando la clase ``. La unidad de medida por defecto es el porcentaje. Las unidades disponibles son pulgadas, milímetros, centímetros, píxeles y puntos. Esto permite un posicionamiento preciso, como establecer márgenes personalizados en documentos PDF.
Código
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-location.cs
using IronPdf.Editing;
using System;
// Create text stamper
ImageStamper imageStamper = new ImageStamper(new Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg"))
{
HorizontalAlignment = HorizontalAlignment.Center,
VerticalAlignment = VerticalAlignment.Top,
// Specify offsets
HorizontalOffset = new Length(10),
VerticalOffset = new Length(10),
};
Imports IronPdf.Editing
Imports System
' Create text stamper
Private imageStamper As New ImageStamper(New Uri("https://ironpdf.com/img/svgs/iron-pdf-logo.svg")) With {
.HorizontalAlignment = HorizontalAlignment.Center,
.VerticalAlignment = VerticalAlignment.Top,
.HorizontalOffset = New Length(10),
.VerticalOffset = New Length(10)
}
¿Cómo sellar contenido HTML?
Utilice la clase para estampar texto e imágenes. renderiza diseños HTML con estilo CSS y luego los estampa en documentos PDF. La propiedad `` especifica la URL base para recursos de cadena HTML como archivos CSS e imágenes. Se utiliza el mismo motor de renderizado que convertir HTML a PDF.
Código
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-multiple-stamps.cs
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create two text stampers
TextStamper stamper1 = new TextStamper()
{
Text = "Text stamp 1",
VerticalAlignment = VerticalAlignment.Top,
HorizontalAlignment = HorizontalAlignment.Left,
};
TextStamper stamper2 = new TextStamper()
{
Text = "Text stamp 2",
VerticalAlignment = VerticalAlignment.Top,
HorizontalAlignment = HorizontalAlignment.Right,
};
Stamper[] stampersToApply = { stamper1, stamper2 };
// Apply multiple stamps
pdf.ApplyMultipleStamps(stampersToApply);
pdf.SaveAs("multipleStamps.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create two text stampers
Private stamper1 As New TextStamper() With {
.Text = "Text stamp 1",
.VerticalAlignment = VerticalAlignment.Top,
.HorizontalAlignment = HorizontalAlignment.Left
}
Private stamper2 As New TextStamper() With {
.Text = "Text stamp 2",
.VerticalAlignment = VerticalAlignment.Top,
.HorizontalAlignment = HorizontalAlignment.Right
}
Private stampersToApply() As Stamper = { stamper1, stamper2 }
' Apply multiple stamps
pdf.ApplyMultipleStamps(stampersToApply)
pdf.SaveAs("multipleStamps.pdf")
¿Cuáles son las propiedades esenciales de HTML Stamper?
: Fragmento HTML para estampar en tu PDF. Las referencias externas a JavaScript, CSS y imágenes son relativas a.- ``: URL base para referencias de archivos CSS, JavaScript e imágenes externas.
: Habilita estilos CSS con Media="screen". Establecerrenderiza estampas usando CSS media="print". Por defecto: ``.
¿Por qué usar HTML Stamper en lugar de Text Stamper?
`` proporciona soporte completo de HTML y CSS para diseños complejos, múltiples fuentes, colores e imágenes embebidas en una sola estampa. Ideal para marcas de agua de contenido rico o encabezados. Mantiene la coherencia de la marca y trabaja con diseños CSS responsivos.
¿Cómo estampar códigos de barras?
La clase `` estampa códigos de barras directamente en documentos PDF existentes. Admite los tipos de código de barras QRCode, Code128 y Code39.
Código
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-text.cs
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create text stamper
TextStamper textStamper = new TextStamper()
{
Text = "Text Stamper!",
FontFamily = "Bungee Spice",
UseGoogleFont = true,
FontSize = 30,
IsBold = true,
IsItalic = true,
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the text stamper
pdf.ApplyStamp(textStamper);
pdf.SaveAs("stampText.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create text stamper
Private textStamper As New TextStamper() With {
.Text = "Text Stamper!",
.FontFamily = "Bungee Spice",
.UseGoogleFont = True,
.FontSize = 30,
.IsBold = True,
.IsItalic = True,
.VerticalAlignment = VerticalAlignment.Top
}
' Stamp the text stamper
pdf.ApplyStamp(textStamper)
pdf.SaveAs("stampText.pdf")
¿Qué opciones de configuración existen para los BarCodes?
- ``: Valor de cadena del código de barras.
- ``: Tipo de codificación que admite QRCode, Code128 y Code39. Por defecto: QRCode.
- ``: Ancho del código de barras renderizado en píxeles. Predeterminado: 250px.
- ``: Altura del código de barras renderizado en píxeles. Predeterminado: 250px.
¿Cuándo debo utilizar cada tipo de código de barras?
QRCode maneja URL y grandes conjuntos de datos (hasta 4.296 caracteres alfanuméricos). es adecuado para datos alfanuméricos con altos requisitos de densidad. funciona para combinaciones simples de números o letras mayúsculas. Tenga en cuenta la compatibilidad de los equipos de escaneado a la hora de seleccionar los tipos de códigos de barras.
¿Qué otras opciones de Stamper hay disponibles?
Estas propiedades proporcionan un control preciso sobre la apariencia y el comportamiento de los sellos, similar a crear marcas de agua personalizadas.
¿Cómo controlo la apariencia de los sellos?
- ``: Controla la transparencia. 0 es invisible, 100 es opaco.
- ``: Rota la estampa en sentido horario de 0 a 360 grados.
- ``: Ancho máximo de la estampa de salida.
- ``: Altura máxima de la estampa de salida.
- ``: Ancho mínimo de la estampa de salida.
- ``: Altura mínima de la estampa de salida.
- ``: Agrega un hipervínculo al hacer clic en los elementos estampados. Nota: Los enlaces HTML (etiquetas a) no se conservan al estamparlos.
- ``: Aplica escala porcentual a las estampas. Predeterminado: 100 (sin efecto).
- ``: Coloca la estampa detrás del contenido. El sello puede ser invisible si el contenido es opaco.
- ``: Espera a eventos o tiempo. Ver usando WaitFor para retrasar el renderizado de PDF.
- ``: Tiempo de espera de renderizado en segundos. Predeterminado: 60.
¿Cuáles son las propiedades más utilizadas?
y crean marcas de agua. y ajustan el posicionamiento y tamaño visual. Ejemplo:
// Create a semi-transparent watermark behind content
TextStamper watermark = new TextStamper()
{
Text = "CONFIDENTIAL",
FontSize = 60,
FontColorCode = "#CCCCCC",
Opacity = 25,
Rotation = -45,
IsStampBehindContent = true,
VerticalAlignment = VerticalAlignment.Middle,
HorizontalAlignment = HorizontalAlignment.Center
};
// Create a semi-transparent watermark behind content
TextStamper watermark = new TextStamper()
{
Text = "CONFIDENTIAL",
FontSize = 60,
FontColorCode = "#CCCCCC",
Opacity = 25,
Rotation = -45,
IsStampBehindContent = true,
VerticalAlignment = VerticalAlignment.Middle,
HorizontalAlignment = HorizontalAlignment.Center
};
' Create a semi-transparent watermark behind content
Dim watermark As New TextStamper() With {
.Text = "CONFIDENTIAL",
.FontSize = 60,
.FontColorCode = "#CCCCCC",
.Opacity = 25,
.Rotation = -45,
.IsStampBehindContent = True,
.VerticalAlignment = VerticalAlignment.Middle,
.HorizontalAlignment = HorizontalAlignment.Center
}
Resumen
La funcionalidad de estampado de IronPDF añade texto, imágenes, contenido HTML y códigos de barras a documentos PDF existentes. Cuatro clases especializadas de estampadores con amplias opciones de personalización crean documentos profesionales con marcas de agua, encabezados, pies de página y anotaciones. El sistema de posicionamiento con varias unidades de medida y opciones de alineación garantiza una colocación perfecta de los píxeles. Utilice sellos de texto sencillos o diseños HTML complejos con estilo CSS. La API de estampado de IronPDF ofrece flexibilidad y control para la manipulación de PDF de nivel empresarial.
Preguntas Frecuentes
¿Cómo añado una marca de agua de texto a mis documentos PDF en C#?
Utilice la clase TextStamper de IronPDF para añadir marcas de agua de texto. Cree un objeto TextStamper, establezca propiedades como Text, FontSize y Opacity y, a continuación, utilice el método ApplyStamp. Puede posicionar las marcas de agua utilizando las propiedades VerticalAlignment y HorizontalAlignment para una colocación precisa.
¿Puedo añadir imágenes como sellos a archivos PDF existentes?
Sí, IronPDF proporciona la clase ImageStamper para añadir imágenes a los PDF. Cree un objeto ImageStamper, especifique el archivo de imagen y utilice el método ApplyStamp. Puede controlar el posicionamiento y especificar qué páginas estampar utilizando la indexación de páginas basada en cero.
¿Qué tipo de contenido se puede estampar en los PDF?
IronPDF admite cuatro tipos de sellos: TextStamper para anotaciones de texto y marcas de agua, ImageStamper para imágenes, HTMLStamper para contenido HTML con estilo CSS completo, y BarcodeStamper para códigos de barras. Cada clase de sello ofrece un control preciso de la posición.
¿Cómo puedo crear sellos de texto multilínea?
Utilice la etiqueta
dentro de la propiedad Text de TextStamper para crear sellos de varias líneas. Por ejemplo, 'línea 1
línea 2' mostrará texto en dos líneas separadas, perfecto para crear sellos de dirección o marcas de agua multilínea.
¿Puedo utilizar fuentes personalizadas para estampar texto en los PDF?
Sí, TextStamper en IronPDF admite tanto fuentes del sistema como Google Fonts. Establezca la propiedad UseGoogleFont en true para utilizar Google Fonts, o especifique cualquier fuente del sistema instalada utilizando la propiedad FontFamily para un control tipográfico completo.
¿Es posible añadir sellos sólo a determinadas páginas?
Por supuesto. El método ApplyStamp acepta un parámetro de índice de página que le permite estampar páginas específicas. IronPDF utiliza la indexación basada en cero, por lo que la página 1 es el índice 0. También puede utilizar ApplyMultipleStamps para añadir sellos a varias páginas a la vez.

