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

Chaknith related to Cómo añadir fondo y superponer primer plano en PDFs
Chaknith Bin
9 de octubre, 2023
Actualizado 5 de febrero, 2025
Compartir:
This article was translated from English: Does it need improvement?
Translated
View the article in English

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.

Comience con IronPDF

Comience a usar IronPDF en su proyecto hoy con una prueba gratuita.

Primer Paso:
green arrow pointer



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>");

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

// Add background
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>")

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

' Add background
pdf.AddBackgroundPdf(background)

pdf.SaveAs("addBackground.pdf")
$vbLabelText   $csharpLabel

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>");

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

// Overlay foreground
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>")

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

' Overlay foreground
pdf.AddForegroundOverlayPdf(foreground)

pdf.SaveAs("overlayForeground.pdf")
$vbLabelText   $csharpLabel

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 de la sección 'Agregar ejemplo de fondo'. Generamos un PDF de dos páginas con un color diferente para utilizarlo como fondo. Al especificar el número 1 como nuestro segundo parámetro en el método AddBackgroundPdf, usamos la segunda página como fondo.

Consejos
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>");

// Render background
PdfDocument background = renderer.RenderHtmlAsPdf(backgroundHtml);

// Use page 2 as background
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>")

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

' Use page 2 as background
pdf.AddBackgroundPdf(background, 1)

pdf.SaveAs("addBackgroundFromPage2.pdf")
$vbLabelText   $csharpLabel

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 agregar un fondo y superponer un primer plano a una página particular del PDF, respectivamente.

Consejos
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>");

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

// Add background to page 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>")

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

' Add background to page 1
pdf.AddBackgroundPdfToPage(0, background)

pdf.SaveAs("addBackgroundOnASinglePage.pdf")
$vbLabelText   $csharpLabel

Utilice los métodos AddBackgroundPdfToPageRange y AddForegroundOverlayPdfToPageRange para aplicar fondo y primer plano a múltiples 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);

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

// Create list of pages
List<int> pages = new List<int>() { 0, 2 };

// Add background to page 1 & 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)

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

' Create list of pages
Private pages As New List(Of Integer)() From {0, 2}

' Add background to page 1 & 3
pdf.AddBackgroundPdfToPageRange(pages, background)

pdf.SaveAs("addBackgroundOnMultiplePage.pdf")
$vbLabelText   $csharpLabel

Salida PDF

Chaknith related to Salida PDF
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.