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

This article was translated from English: Does it need improvement?
Translated
View the article in English

por Mehr Muhammad Hamza

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 agregar un fondo a un PDF existente o recién renderizado, utilice 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 añadir 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 se utilizará 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 usar para superponer contenido sobre las páginas existentes de 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

Puede 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:

  • primeraPágina(): Aplica el cambio a la primera página del PDF.
  • últimaPágina()`: Aplica el cambio a la última página del PDF.
  • singlePage(int índice)`: Apunta a una página específica según su índice(a partir de 0).
  • rangoDePáginas(int startIndex, int endIndex): Apunta a un rango de páginas desde startIndex hasta endIndex(inclusivo).
  • `rangoDePáginas(ListapageLista): Aplica cambios a una lista de páginas específicas, permitiendo selecciones de páginas no secuenciales.