Cómo agregar un fondo y superponer un primer plano en PDFs en Java

Darrius Serrant
Darrius Serrant
16 de octubre, 2024
Actualizado 17 de diciembre, 2024
Compartir:
This article was translated from English: Does it need improvement?
Translated
View the article in English

Agregar un fondo a un PDF te permite insertar una imagen u otro documento PDF detrás del contenido de un PDF existente, mejorándolo con elementos como membretes, marcas de agua o características de diseño. Superponer un primer plano te permite colocar contenido adicional sobre el PDF, como anotaciones, sellos o firmas.

IronPDF for Java ofrece métodos sencillos para lograr ambos. Puede usar un PDF renderizado o existente como superposición de fondo o primer plano, con la flexibilidad de aplicar cambios a todas las páginas o solo a páginas específicas. En esta guía, demostraremos cómo agregar fondos y superponer elementos de primer plano utilizando IronPDF en Java.

Agregar fondo a un PDF

Para añadir un fondo a un PDF existente o recién renderizado, utiliza el método addBackgroundPdf. Este ejemplo muestra cómo importar un PDF, renderizar un fondo y aplicar el fondo al PDF.

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;

License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// Load the PDF file
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

// Load the background PDF
PdfDocument background = PdfDocument.renderHtmlAsPdf("<body style='background-color: cyan;'></body>");

// Add the background to all pages
pdf.addBackgroundPdf(background);

// Save the modified PDF
pdf.saveAs(Paths.get("addBackground.pdf"));
JAVA

Salida PDF

El archivo PDF de salida generado es el siguiente:

Agregar fondo a páginas específicas

Con el mismo método addBackgroundPdf, también puedes agregar un fondo a cualquier página seleccionada. Esto es útil para aplicar diseños personalizados, como una portada o un diseño de marca específico. La clase PageSelection es necesaria y contiene varios métodos útiles, como allPages, singlePage, pageRange, y más.

import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.edit.PageSelection;

// Load the PDF file
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

// Load the background PDF
PdfDocument background = PdfDocument.fromFile(Paths.get("background.pdf"));

// Add background only to the first page of the target PDF
// The second parameter (0) refers to the first page of the background PDF
pdf.addBackgroundPdf(background, 0, PageSelection.firstPage());

// Save the modified PDF
pdf.saveAs(Paths.get("addBackgroundToSpecificPage.pdf"));
JAVA

El parámetro backgroundPdfPageIndex especifica qué página del PDF de fondo usar como página de fondo. Este parámetro utiliza un índice basado en cero para indicar la página a copiar desde el PDF de fondo/primer plano, con el valor predeterminado establecido en 0.


Agregar primer plano a un PDF

El método addForegroundPdf se puede utilizar para superponer contenido encima de las páginas existentes en un PDF. Esto es útil para añadir elementos como marcas de agua u otros indicadores visuales. Similar al apartado de fondo, renderizaremos el primer plano y lo aplicaremos al documento PDF.

import com.ironsoftware.ironpdf.*;

License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// Load the PDF file
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

// Create the foreground PDF using HTML content
PdfDocument foreground = PdfDocument.renderHtmlAsPdf("<h1 style='transform: rotate(-45deg); opacity: 0.5;'>Foreground Example</h1>");

// Add the foreground to all pages
pdf.addForegroundPdf(foreground);

// Save the modified PDF
pdf.saveAs(Paths.get("overlayForeground.pdf"));
JAVA

Salida

El archivo PDF de salida es como:

Agregar primer plano a páginas específicas

Puedes superponer el primer plano en un rango específico de páginas utilizando el método PageSelection.pageRange. Aquí se explica cómo aplicar el primer plano a las páginas del 2 al 8.

import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.edit.PageSelection;

// Load the PDF file
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

// Create the foreground PDF using HTML content
PdfDocument foreground = PdfDocument.renderHtmlAsPdf("<h1 style='transform: rotate(-45deg); opacity: 0.5;'>Foreground Example</h1>");

// Add the foreground to a specific page range (from page 2 to page 8)
pdf.addForegroundPdf(foreground, PageSelection.pageRange(2, 8));

// Save the modified PDF
pdf.saveAs(Paths.get("overlayForeground.pdf"));
JAVA

Examine la clase PageSelection

Cuando se trabaja con primeros planos y fondos, IronPDF ofrece formas flexibles de especificar las páginas en las que se deben aplicar utilizando los métodos de la clase PageSelection. Aquí están las opciones:

  • firstPage(): Aplica el cambio a la primera página del PDF.
  • lastPage(): Aplica el cambio a la última página del PDF.
  • singlePage(int index): Apunta a una página específica basada en su índice (comenzando desde 0).
  • pageRange(int startIndex, int endIndex): Apunta a un rango de páginas desde startIndex hasta endIndex (incluido).
  • pageRange(List<int> pageList): Aplica cambios a una lista de páginas específicas, permitiendo selecciones de páginas no secuenciales.
Darrius Serrant
Ingeniero de Software Full Stack (WebOps)

Darrius Serrant tiene una licenciatura en Informática de la Universidad de Miami y trabaja como Ingeniero de Marketing WebOps Full Stack en Iron Software. Atraído por la programación desde una edad temprana, veía la computación como algo misterioso y accesible, lo que la convertía en el medio perfecto para la creatividad y la resolución de problemas.

En Iron Software, Darrius disfruta creando cosas nuevas y simplificando conceptos complejos para hacerlos más comprensibles. Como uno de nuestros desarrolladores residentes, también se ha ofrecido como voluntario para enseñar a los estudiantes, compartiendo su experiencia con la próxima generación.

Para Darrius, su trabajo es gratificante porque es valorado y tiene un impacto real.