Comment ajouter un arrière-plan et superposer un premier plan sur les PDF en Java

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

IronPDF for Java fournit les méthodes addBackgroundPdf et addForegroundPdf qui permettent d'insérer du contenu PDF supplémentaire soit derrière, soit par-dessus les pages existantes. Ces méthodes couvrent l'ensemble des scénarios pratiques de superposition : en-têtes, remplissages de couleur, filigranes, tampons d'approbation, et indicateurs de révision. La bibliothèque rend HTML en PDF en interne, donc toute expression CSS valide (dégradés, images, typographie) peut devenir une couche d'arrière-plan ou de premier plan sans manipulation manuelle du flux PDF.

Ajoutez IronPDF à votre projet en déclarant la dépendance dans pom.xml via Maven Central, puis activez votre clé de licence avant d'effectuer tout appel d'API.

Démarrage rapide : Ajouter un arrière-plan et un premier plan aux PDF

```java :title=Quickstart //:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/quickstart.java import com.ironsoftware.ironpdf.* ; import com.ironsoftware.ironpdf.edit.PageSelection ; import java.nio.file.Paths ;

// Chargez le PDF cible PdfDocument pdf = PdfDocument.fromFile(Paths.get("document.pdf")) ;

// Rendre un arrière-plan à partir de HTML et l'appliquer à toutes les pages PdfDocument background = PdfDocument.renderHtmlAsPdf("") ; pdf.addBackgroundPdf(background) ;

// Rendre une superposition de premier plan et l'appliquer à toutes les pages PdfDocument foreground = PdfDocument.renderHtmlAsPdf(""); pdf.addForegroundPdf(foreground) ;

pdf.saveAs(Paths.get("output.pdf")) ;


<div class="hsg-featured-snippet">
<h3>Flux de travail minimal (5 étapes)</h3>
  <ol>
    <li><a class="js-modal-open" data-modal-id="download-modal" href="#download-modal">Installez la bibliothèque IronPDF Java via Maven</a></li>
    <li>Chargez le PDF cible avec <code>PdfDocument.fromFile()</code></li>
    <li>Rendez ou importez le PDF d'arrière-plan ou de premier plan</li>
    <li>Appelez <code>addBackgroundPdf</code> pour appliquer le contenu derrière les pages existantes</li>
    <li>Appelez <code>addForegroundPdf</code> pour superposer le contenu sur les pages existantes</li>
  </ol>
</div>

## Comment ajouter un arrière-plan à un PDF ?

Pour ajouter un arrière-plan à un PDF existant, appelez `addBackgroundPdf` sur une instance `PdfDocument` et transmettez un deuxième `PdfDocument` comme source d'arrière-plan. La méthode compose l'arrière-plan sous chaque page du document cible. Avant d'exécuter le code, [configurez IronPDF avec votre clé de licence](https://ironpdf.com/java/get-started/license-keys/) pour activer la bibliothèque.

```java
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/add-background.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import java.nio.file.Paths ;

// Activate the license
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// Chargez le PDF cible
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

// Render a background from an HTML color definition
PdfDocument background = PdfDocument.renderHtmlAsPdf("<body style='background-color: cyan;'></body>");

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

pdf.saveAs(Paths.get("addBackground.pdf"));

L'appel renderHtmlAsPdf convertit tout code HTML et CSS valide en une page PDF qu'IronPDF intègre derrière votre contenu existant. Vous pouvez utiliser des styles CSS personnalisés dans le tutoriel HTML vers PDF pour produire des remplissages en dégradé, des motifs répétés ou des arrière-plans à base d'images. Le moteur de rendu HTML traite les propriétés CSS modernes, donc les conceptions qui fonctionnent dans un navigateur se traduisent directement en couche d'arrière-plan.

ConseilsUtilisez <body style='margin:0; padding:0;'> dans votre modèle d'arrière-plan HTML pour éliminer les marges par défaut du navigateur et garantir que la couleur ou l'image remplit toute la page.

À quoi ressemble le PDF de sortie de l'arrière-plan ?

Pourquoi utiliser HTML pour créer des arrière-plans de PDF ?

Ajouter un arrière-plan superpose une image ou une page de document derrière le contenu existant, permettant des en-têtes, remplissages de couleur, filigranes, et éléments de design décoratif. Superposer un premier plan place du contenu au-dessus, ce qui est utile pour les annotations, tampons et indicateurs d'approbation.

L'approche basée sur HTML offre plusieurs avantages concrets par rapport aux importations d'images :

  • Contrôle CSS précis : Utilisez n'importe quelle couleur, dégradé, image ou mise en page CSS pour définir le design de l'arrière-plan.
  • Adaptabilité à la taille de la page : Les arrière-plans rendus à partir de HTML s'adaptent automatiquement aux dimensions de la page PDF cible.
  • Génération dynamique : Construisez des arrière-plans de manière programmatique à partir de données, préférences utilisateur ou logique de modèle.
  • Sortie légère : Les arrière-plans définis par CSS sont plus petits que les images raster à qualité visuelle équivalente.

Cette fonctionnalité convient pour créer des formulaires avec des en-têtes d'entreprise ou ajouter des filigranes personnalisés aux documents légaux et financiers.

Comment ajouter un arrière-plan à des pages spécifiques ?

La méthode addBackgroundPdf accepte un argument facultatif PageSelection qui limite l'opération aux pages que vous spécifiez. Utilisez PageSelection.firstPage(), PageSelection.lastPage(), PageSelection.singlePage(int index) ou PageSelection.pageRange(int start, int end) pour cibler n'importe quel sous-ensemble de pages. La documentation complète PageSelection est disponible dans la référence de l'API IronPDF for Java.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/add-background-specific-page.java
import com.ironsoftware.ironpdf.* ;
import com.ironsoftware.ironpdf.edit.PageSelection ;
import java.nio.file.Paths ;

// Chargez le PDF cible
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

// Load a background from an existing PDF file
PdfDocument background = PdfDocument.fromFile(Paths.get("background.pdf"));

// Apply only the first page of the background PDF to the first page of the target
pdf.addBackgroundPdf(background, 0, PageSelection.firstPage());

pdf.saveAs(Paths.get("addBackgroundToSpecificPage.pdf"));
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/add-background-specific-page.java
import com.ironsoftware.ironpdf.* ;
import com.ironsoftware.ironpdf.edit.PageSelection ;
import java.nio.file.Paths ;

// Chargez le PDF cible
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

// Load a background from an existing PDF file
PdfDocument background = PdfDocument.fromFile(Paths.get("background.pdf"));

// Apply only the first page of the background PDF to the first page of the target
pdf.addBackgroundPdf(background, 0, PageSelection.firstPage());

pdf.saveAs(Paths.get("addBackgroundToSpecificPage.pdf"));
JAVA

Le deuxième argument (0) est le backgroundPdfPageIndex, un index basé sur zéro qui sélectionne la page du PDF d'arrière-plan à utiliser comme source. Lorsque votre modèle d'arrière-plan contient plusieurs conceptions de page, ce paramètre vous permet d'appliquer différentes conceptions à différentes sections du document cible. Combinez des arrière-plans sélectifs avec des exemples de fractionnement et de fusion de PDF pour construire des flux de travail d'assemblage de documents en plusieurs étapes.

Quand devriez-vous appliquer des arrière-plans à des pages spécifiques ?

L'application sélective d'arrière-plans couvre une gamme de scénarios courants de documents :

  • Pages de couverture : Marquez la première page avec un design pleine page tout en gardant les pages de corps propres.
  • Séparateurs de chapitres : Appliquer des arrière-plans de section à la première page de chaque chapitre.
  • Authentification légale : Ajoutez un en-tête officiel seulement aux pages nécessitant une certification formelle.
  • Sections confidentielles : Teintez ou marquez des pages spécifiques pour indiquer du contenu restreint.
  • Mises en page prêtes pour l'impression : Appliquez des arrière-plans sûrs pour les marges aux pages destinées à l'impression physique.

Après avoir appliqué des images d'arrière-plan haute résolution, envisagez de comprimer le PDF de sortie pour maintenir des tailles de fichier gérables pour la distribution ou l'archivage.


Comment ajouter une superposition de premier plan à un PDF ?

La méthode addForegroundPdf superpose une couche PDF au contenu existant de la page. Le premier plan rendu apparaît au-dessus de tous les textes, images et graphiques existants sur chaque page cible. Cette méthode est l'approche standard pour les filigranes, tampons d'approbation, et indicateurs de révision qui doivent rester visibles quel que soit le contenu sous-jacent. Pour des exemples de code fonctionnels, voir les exemples Java de fonds et premiers plans.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/add-foreground.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import java.nio.file.Paths ;

// Activate the license
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// Chargez le PDF cible
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

// Render a diagonal text stamp as the foreground layer
PdfDocument foreground = PdfDocument.renderHtmlAsPdf(
    "<h1 style='transform: rotate(-45deg); opacity: 0.5;'>Foreground Example</h1>"
);

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

pdf.saveAs(Paths.get("overlayForeground.pdf"));
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/add-foreground.java
import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import java.nio.file.Paths ;

// Activate the license
License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

// Chargez le PDF cible
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

// Render a diagonal text stamp as the foreground layer
PdfDocument foreground = PdfDocument.renderHtmlAsPdf(
    "<h1 style='transform: rotate(-45deg); opacity: 0.5;'>Foreground Example</h1>"
);

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

pdf.saveAs(Paths.get("overlayForeground.pdf"));
JAVA

La propriété CSS opacity contrôle la transparence afin que le tampon au premier plan ne masque pas entièrement le contenu sous-jacent. La propriété transform: rotate() applique une orientation diagonale, ce qui est la norme pour les filigranes " brouillon " et " confidentiel ". La bibliothèque gère toute la composition en interne; aucune manipulation manuelle du flux PDF n'est requise.

Veuillez noterLe rendu au premier plan utilise le même moteur HTML-vers-PDF que renderHtmlAsPdf. Tout CSS fonctionnant dans un navigateur moderne (y compris @font-face, flexbox et les variables CSS) produira un résultat identique dans la couche de premier plan.

À quoi ressemble la sortie de premier plan?

Pourquoi utiliser des incrustations d'avant-plan plutôt que des arrière-plans ?

Les superpositions de premier plan jouent un rôle différent des arrière-plans et sont le bon choix lorsque le contenu ajouté doit apparaître au-dessus du matériel de page existant :

  • Tampons de brouillon et confidentiels : Placez du texte proéminent mais transparent sur les pages sans supprimer le contenu existant.
  • Annotations d'approbation et d'examen : Superposez des indicateurs de validation ou des notes de révision sur des documents complétés.
  • Identifiants de sécurité : Ajoutez des codes de suivi ou des identifiants de document uniques qui se trouvent au-dessus de tout le contenu de la page.
  • Indicateurs d'expiration : Marquez les documents sensibles au temps avec des avis visibles qui apparaissent au-dessus des tableaux de données ou des graphiques.
  • Marques de certification : Appliquez des logos ou des sceaux sur le contenu finalisé de manière à ne pas être couvert par des éléments de page existants.

Les superpositions de premier plan fonctionnent bien avec le remplissage de formulaires PDF en Java lorsqu'il faut placer des indicateurs de statut ou des tampons d'approbation sur des données de formulaire complétées.

Comment ajouter un premier plan à des pages spécifiques ?

La méthode addForegroundPdf accepte un argument PageSelection de la même manière que addBackgroundPdf. Utilisez PageSelection.pageRange(int start, int end) pour limiter le premier plan à une plage contiguë, ou passez un List<Integer> pour cibler des pages non séquentielles.

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/add-foreground-page-range.java
import com.ironsoftware.ironpdf.* ;
import com.ironsoftware.ironpdf.edit.PageSelection ;
import java.nio.file.Paths ;

// Chargez le PDF cible
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

// Render the foreground overlay
PdfDocument foreground = PdfDocument.renderHtmlAsPdf(
    "<h1 style='transform: rotate(-45deg); opacity: 0.5;'>Foreground Example</h1>"
);

// Apply the foreground to pages 2 through 8 (zero-based index: 1 to 7)
pdf.addForegroundPdf(foreground, PageSelection.pageRange(2, 8));

pdf.saveAs(Paths.get("overlayForeground.pdf"));
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/add-foreground-page-range.java
import com.ironsoftware.ironpdf.* ;
import com.ironsoftware.ironpdf.edit.PageSelection ;
import java.nio.file.Paths ;

// Chargez le PDF cible
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));

// Render the foreground overlay
PdfDocument foreground = PdfDocument.renderHtmlAsPdf(
    "<h1 style='transform: rotate(-45deg); opacity: 0.5;'>Foreground Example</h1>"
);

// Apply the foreground to pages 2 through 8 (zero-based index: 1 to 7)
pdf.addForegroundPdf(foreground, PageSelection.pageRange(2, 8));

pdf.saveAs(Paths.get("overlayForeground.pdf"));
JAVA

ImportantL'index pageRange est basé sur 1 dans certaines surcharges et sur 0 dans d'autres, selon la surcharge que vous appelez. Consultez la Référence API IronPDF for Java pour la signature de surcharge spécifique pour confirmer la convention d'indexation dans votre version.

Quand devriez-vous utiliser des plages de pages pour les premiers plans ?

L'application de premiers plans spécifiques aux pages est utile dans plusieurs scénarios de production :

  • Sections de document : Tamponnez une superposition "BROUILLON" uniquement sur l'annexe ou les pages supplémentaires.
  • Suivi de version : Marquez les pages mises à jour avec un tampon de révision tout en laissant les pages inchangées non modifiées.
  • Confidentialité sélective : Appliquez une superposition "RESTRICTED" uniquement aux pages contenant des données financières ou médicales sensibles.
  • Documents multilingues : Placez des avis spécifiques à la langue sur les pages pertinentes d'un document bilingue.
  • Gestion des contrats : Ajoutez une superposition "VOID" aux pages de contrat expirées sans modifier l'intégralité du document.

Quels sont les modèles de sélection de pages courants ?

Les modèles suivants couvrent la plupart des scénarios de superposition sélective :

//:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/page-selection-patterns.java
import com.ironsoftware.ironpdf.* ;
import com.ironsoftware.ironpdf.edit.PageSelection ;
import java.util.ArrayList;
import java.util.List;
import java.nio.file.Paths ;

PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));
PdfDocument foreground = PdfDocument.renderHtmlAsPdf("<h1 style='opacity: 0.4;'>DRAFT</h1>");
PdfDocument background1 = PdfDocument.fromFile(Paths.get("cover-background.pdf"));
PdfDocument background2 = PdfDocument.fromFile(Paths.get("end-background.pdf"));

// Apply foreground to all even-numbered pages (zero-based)
List<Integer> evenPages = new ArrayList<>();
for (int i = 1; i < pdf.getPageCount(); i += 2) {
    evenPages.add(i);
}
pdf.addForegroundPdf(foreground, PageSelection.pageRange(evenPages));

// Apply different backgrounds to the first and last pages
pdf.addBackgroundPdf(background1, 0, PageSelection.firstPage());
pdf.addBackgroundPdf(background2, 0, PageSelection.lastPage());

// Apply foreground to all pages except the first and last
if (pdf.getPageCount() > 2) {
    pdf.addForegroundPdf(foreground, PageSelection.pageRange(1, pdf.getPageCount() - 2));
}

pdf.saveAs(Paths.get("selective-overlay.pdf"));
//:path=/static-assets/ironpdf-java/content-code-examples/how-to/background-foreground/page-selection-patterns.java
import com.ironsoftware.ironpdf.* ;
import com.ironsoftware.ironpdf.edit.PageSelection ;
import java.util.ArrayList;
import java.util.List;
import java.nio.file.Paths ;

PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));
PdfDocument foreground = PdfDocument.renderHtmlAsPdf("<h1 style='opacity: 0.4;'>DRAFT</h1>");
PdfDocument background1 = PdfDocument.fromFile(Paths.get("cover-background.pdf"));
PdfDocument background2 = PdfDocument.fromFile(Paths.get("end-background.pdf"));

// Apply foreground to all even-numbered pages (zero-based)
List<Integer> evenPages = new ArrayList<>();
for (int i = 1; i < pdf.getPageCount(); i += 2) {
    evenPages.add(i);
}
pdf.addForegroundPdf(foreground, PageSelection.pageRange(evenPages));

// Apply different backgrounds to the first and last pages
pdf.addBackgroundPdf(background1, 0, PageSelection.firstPage());
pdf.addBackgroundPdf(background2, 0, PageSelection.lastPage());

// Apply foreground to all pages except the first and last
if (pdf.getPageCount() > 2) {
    pdf.addForegroundPdf(foreground, PageSelection.pageRange(1, pdf.getPageCount() - 2));
}

pdf.saveAs(Paths.get("selective-overlay.pdf"));
JAVA

ConseilsEnchaînez plusieurs appels addBackgroundPdf et addForegroundPdf sur le même PdfDocument pour créer des modèles en couches. Par exemple, appliquez une couleur de marque en fond, puis ajoutez un tampon de confidentialité au premier plan dans un seul pipeline.


Quelles méthodes la classe PageSelection fournit-elle ?

La classe PageSelection contrôle quelles pages reçoivent la couche d'arrière-plan ou de premier plan. Toutes les méthodes d'usine intégrées renvoient un objet PageSelection accepté à la fois par addBackgroundPdf et addForegroundPdf.

Méthodes de fabrique PageSelection pour cibler des pages spécifiques dans addBackgroundPdf et addForegroundPdf
MéthodeDescription du projet
firstPage()Cible la première page du PDF
lastPage()Cible la dernière page du PDF
singlePage(int index)Cible une page par index basé sur zéro
pageRange(int start, int end)Cible une plage de pages contiguës (inclusivement)
pageRange(List pageList)Cible une liste de pages non séquentielles
allPages()Cible toutes les pages (par défaut si aucune sélection n'est passée)

Comment choisir la bonne méthode PageSelection ?

Le choix de la méthode dépend de la structure du document et de l'étendue de la superposition :

  • firstPage() : Pages de couverture, pages de titre et éléments graphiques d'introduction.
  • lastPage() : Blocs de signature, mentions de fin de document et résumés de conclusion.
  • singlePage() : Certificats, formulaires ou pages individuelles nécessitant un traitement spécifique.
  • pageRange(start, end) : Chapitres, annexes ou toute section continue d'un document.
  • pageRange(List) : Sélections non séquentielles telles que toutes les pages impaires ou un ensemble spécifié manuellement.

Pour la documentation complète des paramètres et les signatures de surcharge des méthodes, consultez la référence API Java IronPDF.

Quelles sont les prochaines étapes pour ajouter des fonds et des premiers plans aux PDFs ?

Les méthodes addBackgroundPdf et addForegroundPdf couvrent l'ensemble des scénarios de superposition sur PDF, des simples remplissages de couleur et filigranes aux workflows d'assemblage de documents à plusieurs modèles. Combinez-les avec PageSelection pour appliquer différents designs par section, ou enchaînez-les avec d'autres méthodes PdfDocument pour créer des pipelines de documents prêts pour la production. Pour des techniques de superposition supplémentaires comme les tampons de texte et d'image, explorez le guide de tamponnage de texte et d'images ou les exemples d'annotations for Java.

Pour utiliser ces fonctionnalités dans votre projet, démarrez un essai gratuit d'IronPDF for Java ou consultez les options de licence pour un déploiement commercial. IronPDF est disponible via Maven Central et prend en charge Java 8 et plus tard sur Windows, Linux et macOS.

Prêt à voir ce qu'IronPDF peut faire d'autre ? Explorez le didacticiel HTML vers PDF complet for Java pour un aperçu complet des options de rendu, manipulation et exportation.

Questions Fréquemment Posées

Comment ajouter un arrière-plan à un PDF existant en Java ?

Chargez le PDF cible avec PdfDocument.fromFile(), créez un PDF d'arrière-plan en utilisant PdfDocument.renderHtmlAsPdf() avec votre HTML/CSS, puis appelez pdf.addBackgroundPdf(background) pour le composer derrière toutes les pages. Activez d'abord la bibliothèque avec License.setLicenseKey().

Quelle est la différence entre addBackgroundPdf et addForegroundPdf ?

addBackgroundPdf place la couche PDF source derrière le contenu de la page existante, ce qui le rend adapté aux en-têtes, remplissages de couleur, et modèles de design. addForegroundPdf place la couche au-dessus du contenu existant, le rendant adapté aux filigranes, tampons de brouillon, indicateurs d'approbation, et avis de confidentialité.

Puis-je appliquer un arrière-plan ou un premier plan à certaines pages uniquement ?

Oui. Les méthodes addBackgroundPdf et addForegroundPdf acceptent un argument optionnel PageSelection. Utilisez PageSelection.firstPage(), PageSelection.lastPage(), PageSelection.singlePage(int index), ou PageSelection.pageRange(int start, int end) pour cibler un sous-ensemble de pages.

Comment puis-je créer un arrière-plan PDF en utilisant HTML et CSS ?

Appelez PdfDocument.renderHtmlAsPdf() et passez votre chaîne HTML. IronPDF prend en charge CSS moderne incluant les dégradés, images d'arrière-plan, polices personnalisées, et opacité. La page rendue est mise à l'échelle pour correspondre automatiquement aux dimensions du document cible.

Que contrôle le paramètre backgroundPdfPageIndex ?

Le deuxième argument entier de addBackgroundPdf est l'index de page basé sur zéro dans le PDF d'arrière-plan à utiliser comme source. Lorsque votre modèle d'arrière-plan a plusieurs designs de pages, passez différentes valeurs d'index pour appliquer différents designs à différentes sections du document cible.

Une licence est-elle requise pour ajouter des arrière-plans et des premiers plans en Java ?

Oui. Définissez une clé de licence valide en utilisant License.setLicenseKey() avant tout appel d'API. Des licences d'essai gratuites sont disponibles sur ironpdf.com pour l'évaluation. La bibliothèque nécessite une licence appropriée pour une utilisation en production.

Darrius Serrant
Ingénieur logiciel Full Stack (WebOps)

Darrius Serrant est titulaire d'un baccalauréat en informatique de l'université de Miami et travaille comme ingénieur marketing WebOps Full Stack chez Iron Software. Attiré par le codage dès son plus jeune âge, il a vu l'informatique comme à la fois mystérieuse et accessible, en faisant le ...

Lire la suite
Prêt à commencer?
Version : 2026.5 just released
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ?
exécuter un échantillon Regardez votre code HTML se transformer en PDF.