如何在 Java 中為 PDF 新增背景和疊加前景

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

由 Mehr Muhammad Hamza

在 PDF 中添加背景允許您在現有 PDF 的內容後插入圖像或另一個 PDF 文件,使其增強如信頭、水印或設計特色等元素。 疊加前景可以讓您在 PDF 上放置額外內容,例如註釋、印章或簽名。

IronPDF for Java 提供簡單的方法來實現這兩者。 您可以使用已渲染或現有的PDF作為背景或前景疊加,並靈活地對所有頁面或特定頁面進行更改。 在本指南中,我們將演示如何使用 IronPDF 在 Java 中添加背景和疊加前景。

將背景添加到 PDF

若要為現有或新生成的 PDF 添加背景,請使用 addBackgroundPdf 方法。 此範例顯示如何匯入 PDF、呈現背景以及將背景應用於 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

輸出 PDF

生成的輸出 PDF 文件如下:

為特定頁面添加背景

使用相同的 addBackgroundPdf 方法,您也可以為任何選定的頁面添加背景。 這對於應用自定義設計非常有用,例如封面頁或特定品牌佈局。 PageSelection 類別是必需的,並包含多個有用的方法,例如 allPagessinglePagepageRange 等。

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

backgroundPdfPageIndex 參數指定要將背景 PDF 中的哪一頁用作背景頁面。 此參數使用從零開始的索引來指示需要從背景/前景 PDF 複製的頁面,默認設置為 0。


添加前景到 PDF

addForegroundPdf 方法可用於在 PDF 的現有頁面上覆蓋內容。 這對於添加諸如浮水印或其他視覺指示器等元素非常有用。 與背景部分類似,我們將渲染前景並將其應用到 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

輸出

輸出 PDF 文件為:

將前景添加到特定頁面

您可以使用 PageSelection.pageRange 方法在特定範圍的頁面上疊加前景。 以下是您可以將前景應用到第 2 到第 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

探索 PageSelection 類別

在處理前景和背景時,IronPDF 提供了靈活的方法,可以使用 PageSelection 類中的方法來指定應該應用的頁面。 以下是選項:

  • `第一頁():將更改應用於 PDF 的第一頁。
  • lastPage(): 將更改應用於 PDF 的最後一頁。
  • `singlePage(int 索引):根據其索引目標特定的頁面(從0開始).
  • `pageRange(int startIndex, int endIndex):定位從 startIndex 到 endIndex 的一系列頁面(包容).
  • pageRange(清單<int> page清單): 將變更應用於特定頁面的列表,允許選擇非連續的頁面。