Cómo añadir fondo y superponer primer plano en PDFs

por Chaknith Bin

Añadir fondo permite insertar una imagen u otro documento PDF como capa de fondo detrás del contenido existente de un PDF. Es útil para crear membretes, marcas de agua o añadir elementos decorativos a tus documentos.

La superposición de primer plano le permite colocar texto, imágenes u otro contenido encima de un PDF existente, superponiéndolo de forma efectiva. Se suele utilizar para añadir anotaciones, sellos, firmas o información adicional a un PDF sin alterar el contenido original.

Tanto la adición de fondo como la superposición de primer plano están disponibles en IronPdf con las opciones de utilizar PDF como fondo y primer plano.


Biblioteca NuGet C# para PDF

Instalar con NuGet

Install-Package IronPdf
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Añadir fondo Ejemplo

Utilice el método AddBackgroundPdf para añadir un fondo a un documento PDF recién renderizado o existente. El siguiente ejemplo de código muestra cómo proporcionar el método con un objeto PdfDocument. Sin embargo, también puede especificar la ruta del archivo para importar automáticamente el PDF y añadirlo como fondo en una sola línea de código.

Código

:path=/static-assets/pdf/content-code-examples/how-to/background-foreground-background.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>");

//  Renderizar fondo
PdfDocument background = renderer.RenderHtmlAsPdf("<body style='background-color: cyan;'></body>");

//  Añadir fondo
pdf.AddBackgroundPdf(background);

pdf.SaveAs("addBackground.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>")

'  Renderizar fondo
Private background As PdfDocument = renderer.RenderHtmlAsPdf("<body style='background-color: cyan;'></body>")

'  Añadir fondo
pdf.AddBackgroundPdf(background)

pdf.SaveAs("addBackground.pdf")
VB   C#

Salida PDF


Ejemplo de primer plano superpuesto

De forma similar a la adición de un fondo, puede especificar la ruta del archivo PDF para importar el documento y superponerlo como primer plano sobre el PDF principal. Utilice el método AddForegroundOverlayPdf para superponer el primer plano en el documento PDF principal.

Código

:path=/static-assets/pdf/content-code-examples/how-to/background-foreground-foreground.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>");

//  Renderizar primer plano
PdfDocument foreground = renderer.RenderHtmlAsPdf("<h1 style='transform: rotate(-45deg); opacity: 50%;'>Overlay Watermark</h1>");

//  Primer plano superpuesto
pdf.AddForegroundOverlayPdf(foreground);

pdf.SaveAs("overlayForeground.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>")

'  Renderizar primer plano
Private foreground As PdfDocument = renderer.RenderHtmlAsPdf("<h1 style='transform: rotate(-45deg); opacity: 50%;'>Overlay Watermark</h1>")

'  Primer plano superpuesto
pdf.AddForegroundOverlayPdf(foreground)

pdf.SaveAs("overlayForeground.pdf")
VB   C#

Salida PDF


Seleccionar páginas para fondo o primer plano

Es posible elegir qué página del PDF utilizar como fondo o primer plano. Tomemos como ejemplo la aplicación de un fondo, utilizando un ejemplo de código similar al de la sección "Añadir ejemplo de fondo". Generamos un PDF de dos páginas con un color diferente para utilizarlo como fondo. Especificando el número 1 como segundo parámetro en el método AddBackgroundPdf, utilizamos la 2ª página como fondo.

Consejo
Todos los índices de páginas siguen una indexación basada en cero.

Código

:path=/static-assets/pdf/content-code-examples/how-to/background-foreground-background-page-2.cs
using IronPdf;

string backgroundHtml = @"
<div style = 'background-color: cyan; height: 100%;'></div>
<div style = 'page-break-after: always;'></div>
<div style = 'background-color: lemonchiffon; height: 100%;'></div>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>");

//  Renderizar fondo
PdfDocument background = renderer.RenderHtmlAsPdf(backgroundHtml);

//  Utilice la página 2 como fondo
pdf.AddBackgroundPdf(background, 1);

pdf.SaveAs("addBackgroundFromPage2.pdf");
Imports IronPdf

Private backgroundHtml As String = "
<div style = 'background-color: cyan; height: 100%;'></div>
<div style = 'page-break-after: always;'></div>
<div style = 'background-color: lemonchiffon; height: 100%;'></div>"

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>")

'  Renderizar fondo
Private background As PdfDocument = renderer.RenderHtmlAsPdf(backgroundHtml)

'  Utilice la página 2 como fondo
pdf.AddBackgroundPdf(background, 1)

pdf.SaveAs("addBackgroundFromPage2.pdf")
VB   C#

Salida PDF


Aplicar fondo o primer plano a las páginas especificadas

Por último, también es posible aplicar el fondo o el primer plano a una sola página o a varias. Esta acción requiere utilizar un nombre de método ligeramente diferente. Utilice los métodos AddBackgroundPdfToPage y AddForegroundOverlayPdfToPage para añadir fondo y superponer primer plano a una sola página concreta del PDF, respectivamente.

Consejo
Todos los índices de páginas siguen una indexación basada en cero.

Solicitar en una sola página

:path=/static-assets/pdf/content-code-examples/how-to/background-foreground-single-page.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>");

//  Renderizar fondo
PdfDocument background = renderer.RenderHtmlAsPdf("<body style='background-color: cyan;'></body>");

//  Añadir fondo a la página 1
pdf.AddBackgroundPdfToPage(0, background);

pdf.SaveAs("addBackgroundOnASinglePage.pdf");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Main HTML content</h1>")

'  Renderizar fondo
Private background As PdfDocument = renderer.RenderHtmlAsPdf("<body style='background-color: cyan;'></body>")

'  Añadir fondo a la página 1
pdf.AddBackgroundPdfToPage(0, background)

pdf.SaveAs("addBackgroundOnASinglePage.pdf")
VB   C#

Utilice los métodos AddBackgroundPdfToPageRange y AddForegroundOverlayPdfToPageRange para aplicar el fondo y el primer plano a varias páginas respectivamente.

Aplicar en varias páginas

:path=/static-assets/pdf/content-code-examples/how-to/background-foreground-multiple-pages.cs
using IronPdf;
using System.Collections.Generic;

string html = @"<p> This is 1st Page </p>
<div style = 'page-break-after: always;'></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;'></div>
<p> This is 3rd Page</p>";

ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf(html);

//  Renderizar fondo
PdfDocument background = renderer.RenderHtmlAsPdf("<body style='background-color: cyan;'></body>");

//  Crear una lista de páginas
List<int> pages = new List<int>() { 0, 2 };

//  Añadir fondo a las páginas 1 y 3
pdf.AddBackgroundPdfToPageRange(pages, background);

pdf.SaveAs("addBackgroundOnMultiplePage.pdf");
Imports IronPdf
Imports System.Collections.Generic

Private html As String = "<p> This is 1st Page </p>
<div style = 'page-break-after: always;'></div>
<p> This is 2nd Page</p>
<div style = 'page-break-after: always;'></div>
<p> This is 3rd Page</p>"

Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)

'  Renderizar fondo
Private background As PdfDocument = renderer.RenderHtmlAsPdf("<body style='background-color: cyan;'></body>")

'  Crear una lista de páginas
Private pages As New List(Of Integer)() From {0, 2}

'  Añadir fondo a las páginas 1 y 3
pdf.AddBackgroundPdfToPageRange(pages, background)

pdf.SaveAs("addBackgroundOnMultiplePage.pdf")
VB   C#

Salida PDF

Chaknith Bin

Ingeniero de software

Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.