Cómo estampar texto e imágenes en PDF
Estampar texto e imágenes en un PDF consiste en superponer contenido adicional a un documento PDF existente. Este contenido, a menudo denominado "sello", puede ser texto, imágenes o una combinación de ambos. Los sellos se suelen utilizar para añadir información, etiquetas, marcas de agua o anotaciones a un PDF.
Hay un total de 4 estampadores que se pueden utilizar en IronPDF. Este artículo va a hablar sobre TextStamper, ImageStamper, HTMLStamper y BarcodeStamper. HTMLStamper es especialmente potente, ya que puede utilizar todas las características HTML junto con el estilo CSS.
Comience con IronPDF
Comience a usar IronPDF en su proyecto hoy con una prueba gratuita.
How to Stamp Text & Image on PDFs
- Descargar la biblioteca de C# para estampar texto e imagen
- Crear y configurar la clase de estampador deseada
- Utilice el método
ApplyStamp
para aplicar el sello al PDF - Aplicar múltiples sellos usando el método
ApplyMultipleStamps
- Especificar páginas particulares para aplicar los sellos
Ejemplo de texto de sello
Primero, crea un objeto de la clase TextStamper. Este objeto contendrá todas las configuraciones para especificar cómo queremos que se muestre nuestro estampador de texto. Pasa el objeto TextStamper al método ApplyStamp
. La propiedad Text será el texto mostrado. Además, podemos especificar la familia y el estilo de la fuente, así como la ubicación del sello.
: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")
Salida PDF
Para obtener texto de varias líneas en TextStamper, utilice la etiqueta <br> como en HTML. Por ejemplo, "línea 1 <br> línea 2" producirá "línea 1" en la primera línea y "línea 2" en la segunda.
Ejemplo de imagen de sello
Similar al sellador de texto, primero creamos un objeto de la clase ImageStamper y luego usamos el método ApplyStamp
para aplicar la imagen al documento. El segundo parámetro de este método también acepta un índice de página, que puede utilizarse para aplicar el sello a una o varias páginas. En el ejemplo siguiente, especificamos que la imagen debe estamparse en la página 1 del PDF.
Consejos
: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")
Salida PDF
Aplicar varios sellos
Utilice el método ApplyMultipleStamps
para aplicar múltiples sellos al documento pasando una matriz de estampadores a este.
: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")
Salida PDF
Ubicación del sello
Para definir la colocación del sello, utilizamos una cuadrícula de 3x3 con tres columnas horizontales y tres filas verticales. Tiene opciones de alineación horizontal: izquierda, centro y derecha, así como de alineación vertical: arriba, en medio y abajo. Para mayor precisión, puede ajustar los desplazamientos horizontal y vertical de cada posición. Consulte la imagen siguiente para ver una representación visual de este concepto.

- HorizontalAlignment: La alineación horizontal del sello con respecto a la página. El valor predeterminado es HorizontalAlignment.Center.
- VerticalAlignment: La alineación vertical del sello en relación con la página. La configuración por defecto es VerticalAlignmentCenter.Middle.
- HorizontalOffset: El desplazamiento horizontal. El valor predeterminado es 0 y la unidad predeterminada es IronPDF.Editing.MeasurementUnit.Percentage. Los valores positivos indican un desplazamiento hacia la derecha, mientras que los negativos indican un desplazamiento hacia la izquierda.
-
VerticalOffset: El desplazamiento vertical. El valor predeterminado es 0 y la unidad predeterminada es IronPDF.Editing.MeasurementUnit.Percentage. Los valores positivos indican un desplazamiento hacia abajo, mientras que los negativos indican un desplazamiento hacia arriba.
Para especificar las propiedades HorizontalOffset y VerticalOffset, instanciamos la clase Length. La unidad de medida por defecto para Longitud es un porcentaje, pero también es capaz de utilizar unidades de medida como pulgadas, milímetros, centímetros, píxeles y puntos.
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)
}
Ejemplo de sello HTML
Hay otra clase de estampador que podemos utilizar para estampar tanto texto como imágenes. La clase HtmlStamper se puede utilizar para renderizar diseños HTML con estilos CSS y luego estamparlos en el documento PDF. La propiedad HtmlBaseUrl se utiliza para especificar la URL base para los activos de cadenas HTML, como archivos CSS e imágenes.
Código
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-html.cs
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create HTML stamper
HtmlStamper htmlStamper = new HtmlStamper()
{
Html = @"<img src='https://ironpdf.com/img/svgs/iron-pdf-logo.svg'>
<h1>Iron Software</h1>",
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the HTML stamper
pdf.ApplyStamp(htmlStamper);
pdf.SaveAs("stampHtml.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create HTML stamper
Private htmlStamper As New HtmlStamper() With {
.Html = "<img src='https://ironpdf.com/img/svgs/iron-pdf-logo.svg'>
<h1>Iron Software</h1>",
.VerticalAlignment = VerticalAlignment.Top
}
' Stamp the HTML stamper
pdf.ApplyStamp(htmlStamper)
pdf.SaveAs("stampHtml.pdf")
- Html: El fragmento HTML que se imprimirá en su PDF. Todas las referencias externas a archivos JavaScript, CSS e imágenes serán relativas a la propiedad HtmlBaseUrl de la clase Stamper.
- HtmlBaseUrl: La URL base de HTML para la cual las referencias a archivos CSS, Javascript e Imágenes externos serán relativas.
- CssMediaType: Habilita estilos CSS y hojas de estilo con Media="screen". Al establecer AllowScreenCss=false, IronPDF renderiza Stamp desde HTML utilizando CSS para media="print" como si se imprimiera una página web en un diálogo de impresión del navegador. El valor por defecto es PdfCssMediaType.Screen.
Sello de código de barras Ejemplo
La clase BarcodeStamper se puede usar para estampar un código de barras directamente en el documento PDF existente. El estampador admite tipos de códigos de barras como QRCode, Code128 y Code39.
Código
:path=/static-assets/pdf/content-code-examples/how-to/stamp-text-image-stamp-barcode.cs
using IronPdf;
using IronPdf.Editing;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>");
// Create barcode stamper
BarcodeStamper barcodeStamper = new BarcodeStamper("IronPdf!!", BarcodeEncoding.Code39)
{
VerticalAlignment = VerticalAlignment.Top,
};
// Stamp the barcode stamper
pdf.ApplyStamp(barcodeStamper);
pdf.SaveAs("stampBarcode.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Example HTML Document!</h1>")
' Create barcode stamper
Private barcodeStamper As New BarcodeStamper("IronPdf!!", BarcodeEncoding.Code39) With {.VerticalAlignment = VerticalAlignment.Top}
' Stamp the barcode stamper
pdf.ApplyStamp(barcodeStamper)
pdf.SaveAs("stampBarcode.pdf")
- Valor: El valor en cadena del código de barras.
- BarcodeType: El tipo de codificación para el código de barras, con tipos compatibles que incluyen QRCode, Code128 y Code39. El valor predeterminado es QRCode.
- Ancho: El ancho del código de barras renderizado en píxeles. El valor por defecto es 250px.
- Height: La altura del código de barras renderizado en píxeles. El valor por defecto es 250px.
Explorar las opciones de Stamper
Además de las opciones mencionadas y explicadas anteriormente, a continuación encontrará más opciones disponibles para las clases de estampador.
- Opacidad: Permite que el sello sea transparente. 0 es totalmente invisible, 100 es totalmente opaco.
- Rotación: Gira la estampilla en el sentido de las agujas del reloj de 0 a 360 grados según se especifique.
- MaxWidth: La anchura máxima del sello de salida.
- MaxHeight: La altura máxima del sello de salida.
- MinWidth: El ancho mínimo del sello de salida.
- MinHeight: La altura mínima del sello de salida.
- Hipervínculo: Hace que los elementos estampados de este Stamper tengan un hipervínculo al hacer clic. Nota: Los enlaces HTML creados por las etiquetas link(a) no se reservan mediante sellado.
- Escala: Aplica una escala porcentual a los sellos para hacerlos más grandes o más pequeños. El valor predeterminado es 100 (porcentaje), lo que no tiene efecto.
- IsStampBehindContent: Establece a verdadero para aplicar el sello detrás del contenido. Si el contenido es opaco, el sello puede ser invisible.
- WaitFor: Un envoltorio conveniente para esperar varios eventos o simplemente esperar durante un período de tiempo.
- Timeout: Tiempo de espera de renderizado en segundos. El valor por defecto es 60.