Comment appliquer des filigranes personnalisés aux PDF en Java

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

IronPDF permet aux développeurs Java d'appliquer des filigranes personnalisés aux documents PDF en utilisant des chaînes HTML avec un support CSS complet, permettant un contrôle total sur le texte, les images, l'opacité, la rotation et le positionnement à des fins de branding ou de sécurité.

Démarrage rapide : Appliquer des filigranes aux PDF en Java

  1. Ajoutez IronPDF à votre projet Maven ou Gradle et définissez votre clé de licence
  2. Chargez votre document PDF en utilisant PdfDocument.fromFile()
  3. Créez une chaîne HTML pour votre filigrane (texte, image ou les deux)
  4. Appliquez le filigrane en utilisant pdf.applyWatermark(watermarkHtml)
  5. Enregistrez le PDF avec filigrane en utilisant pdf.saveAs()
 :title=QuickStartWatermark.java
//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/quickstart.java
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));
pdf.applyWatermark("<h1 style='color:red;'>Confidential</h1>");
pdf.saveAs("watermarked.pdf");
 :title=QuickStartWatermark.java
//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/quickstart.java
PdfDocument pdf = PdfDocument.fromFile(Paths.get("sample.pdf"));
pdf.applyWatermark("<h1 style='color:red;'>Confidential</h1>");
pdf.saveAs("watermarked.pdf");
JAVA

Le filigranage protège les documents PDF et communique la propriété ou l'état du document. Les cas d'utilisation courants incluent le marquage des brouillons comme " Confidentiel ", l'intégration d'un logo d'entreprise sur chaque page, ou l'indication qu'un document est en attente d'approbation. IronPDF adopte une approche HTML-et-CSS, ce qui signifie que tout style que vous pouvez exprimer dans un navigateur (polices personnalisées, opacité, rotation, positionnement absolu) fonctionne de manière identique dans un filigrane.

Ce guide couvre les filigranes text, les filigranes image, les contrôles d'opacité et de position, et le timbrage avancé avec TextStamper et ImageStamper. Pour les techniques de manipulation de PDF connexes, voir le guide sur la création de PDF à partir de HTML en Java ou l'aperçu de l'ajout d'arrière-plans et d'avant-plans.

Comment appliquer un filigrane textuel à un PDF?

Utilisez la méthode applyWatermark pour timbrer du texte sur chaque page d'un document PDF. La méthode accepte une chaîne HTML, vous pouvez donc styliser le filigrane avec n'importe quelle propriété CSS : famille de polices, taille, couleur, espacement des lettres, ou ombre de texte. L'exemple ci-dessous marque un document comme " Confidentiel " en rouge, ce qui couvre le scénario le plus courant de traçabilité et de contrôle d'accès.

//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/text-watermark.java
import java.io.IOException;
import java.nio.file.Paths;

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

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key for IronPDF
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

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

        // HTML string defines the watermark appearance via CSS
        String watermarkHtml = "<h1 style='color:red;'>Confidential</h1>";

        // Apply the watermark to every page
        pdf.applyWatermark(watermarkHtml);

        // Save the watermarked PDF to a new file
        pdf.saveAs("text_watermark.pdf");
    }
}
//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/text-watermark.java
import java.io.IOException;
import java.nio.file.Paths;

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

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key for IronPDF
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

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

        // HTML string defines the watermark appearance via CSS
        String watermarkHtml = "<h1 style='color:red;'>Confidential</h1>";

        // Apply the watermark to every page
        pdf.applyWatermark(watermarkHtml);

        // Save the watermarked PDF to a new file
        pdf.saveAs("text_watermark.pdf");
    }
}
JAVA

L'appel applyWatermark ajoute le filigrane à toutes les pages en une seule opération. Par défaut, le filigrane s'affiche à 50% d'opacité et est centré sur chaque page. Pour activer toutes les fonctionnalités de la bibliothèque, configurez votre clé de licence IronPDF avant toute opération PDF. L'HTML passé à applyWatermark accepte n'importe quel élément HTML valide, vous pouvez donc inclure <div>, <span> ou des balises <p> stylisées pour des filigranes sur plusieurs lignes.

À quoi ressemble le texte en filigrane ?

Le fichier de sortie text_watermark.pdf montre le mot Confidentiel en rouge, centré horizontalement et verticalement sur chaque page. L'opacité par défaut de 50% permet de garder le contenu du document lisible sous le filigrane. Pour les documents multi-pages, chaque page reçoit le même tampon sans qu'une boucle par page soit nécessaire.

ConseilsPour des formats de texte complexes tels que les tampons diagonaux multi-lignes, vous pouvez combiner plusieurs transformations CSS dans une seule chaîne HTML : transform: rotate(-45deg) scale(1.5).

Pour des techniques de rendu HTML plus approfondies applicables aux filigranes, consultez le tutorial HTML to PDF.


Comment puis-je ajouter un filigrane d'image à un PDF ?

Les filigranes d'image fonctionnent via la même méthode applyWatermark en enveloppant une balise <img> dans la chaîne HTML. Les fichiers PNG avec des fonds transparents sont idéaux pour les filigranes de logo car la transparence est préservée lorsque l'image est composée sur la page PDF. Les formats JPEG, GIF, SVG et BMP sont également pris en charge.

//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/image-watermark.java
import java.io.IOException;
import java.nio.file.Paths;

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

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key for IronPDF
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

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

        // Reference the image file path relative to the runtime working directory
        String watermarkHtml = "<img src='logo.png' style='width:100px;'/>";

        // Apply the image watermark to all pages
        pdf.applyWatermark(watermarkHtml);

        // Save the result
        pdf.saveAs("image_watermark.pdf");
    }
}
//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/image-watermark.java
import java.io.IOException;
import java.nio.file.Paths;

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

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key for IronPDF
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

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

        // Reference the image file path relative to the runtime working directory
        String watermarkHtml = "<img src='logo.png' style='width:100px;'/>";

        // Apply the image watermark to all pages
        pdf.applyWatermark(watermarkHtml);

        // Save the result
        pdf.saveAs("image_watermark.pdf");
    }
}
JAVA

Les propriétés CSS dans la balise <img> contrôlent la taille, la position et la transparence :

//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/image-watermark-advanced.java
// Apply a 150px logo at 50% opacity, rotated 45 degrees counterclockwise
String advancedWatermarkHtml =
    "<img src='logo.png' style='width:150px; opacity:0.5; transform:rotate(-45deg);'/>";
//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/image-watermark-advanced.java
// Apply a 150px logo at 50% opacity, rotated 45 degrees counterclockwise
String advancedWatermarkHtml =
    "<img src='logo.png' style='width:150px; opacity:0.5; transform:rotate(-45deg);'/>";
JAVA

Le chemin de l'image doit être accessible depuis le répertoire de travail de la JVM à l'exécution. Pour les déploiements sur serveur, utilisez des chemins absolus ou intégrez l'image en tant qu'URI de données Base64 à l'intérieur de l'attribut src pour éviter les problèmes de résolution de chemin.

Quels sont les formats de fichiers pris en charge pour les filigranes d'image ?

IronPDF prend en charge les formats d'image PNG, JPEG, GIF, SVG et BMP dans les filigranes. Les PNG avec un fond transparent produisent les résultats les plus nets pour les filigranes de logo. Le fichier de sortie image_watermark.pdf montre l'image à une largeur de 100 pixels, centrée sur chaque page avec une opacité par défaut de 50 %. Pour extraire des images d'un PDF existant pour les utiliser dans un autre filigrane, consultez le guide sur l'extraction d'images à partir de PDF.


Icon Quote related to Quels sont les formats de fichiers pris en charge pour les filigranes d'image ?

Ma bibliothèque préférée de ce genre est IronPDF. Elle permet une manipulation rapide et efficace des fichiers PDF. Elle dispose également de nombreuses fonctionnalités précieuses, comme l'exportation au format PDF/A et la signature numérique des documents PDF.

Milan Jovanovic related to Quels sont les formats de fichiers pris en charge pour les filigranes d'image ?

Milan Jovanovic

Microsoft MVP

Voir l'étude de cas
Icon Quote related to Quels sont les formats de fichiers pris en charge pour les filigranes d'image ?

IronOCR signifie que nous pouvons économiser 40 000 $ par an grâce au traitement manuel, tout en améliorant la productivité et en libérant des ressources pour des tâches à fort impact. Je le recommande vivement.

Brent Matzelle related to Quels sont les formats de fichiers pris en charge pour les filigranes d'image ?

Brent Matzelle

Directeur technique, OPYN

Voir l'étude de cas
Icon Quote related to Quels sont les formats de fichiers pris en charge pour les filigranes d'image ?

Iron Suite joue un rôle crucial dans nos opérations. Ce sont des outils qui augmentent l'efficacité de l'entreprise, y compris la création de plans d'étage et l'amélioration de la gestion des stocks.

David Jones related to Quels sont les formats de fichiers pris en charge pour les filigranes d'image ?

David Jones

Ingénieur logiciel principal, Agorus Build

Voir l'étude de cas

Comment contrôler l'opacité et l'alignement des filigranes ?

La méthode applyWatermark accepte des paramètres d'opacité et d'alignement après la chaîne HTML. L'opacité est un entier de 0 (totalement transparent) à 100 (totalement opaque). Les valeurs entre 20 et 40 fonctionnent bien pour la plupart des documents, permettant de garder le filigrane visible sans masquer le texte principal. Les énumérations VerticalAlignment et HorizontalAlignment contrôlent quel coin ou bord de la page le filigrane cible.

//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/watermark-opacity-alignment.java
import java.io.IOException;
import java.nio.file.Paths;

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key for IronPDF
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

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

        // Define the watermark HTML
        String watermarkHtml = "<h1 style='color:blue;'>Confidential</h1>";

        // Apply at 30% opacity, anchored to the top-left corner of each page
        pdf.applyWatermark(watermarkHtml, 30, VerticalAlignment.TOP, HorizontalAlignment.LEFT);

        // Save the result
        pdf.saveAs("watermark_opacity_alignment.pdf");
    }
}
//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/watermark-opacity-alignment.java
import java.io.IOException;
import java.nio.file.Paths;

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key for IronPDF
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

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

        // Define the watermark HTML
        String watermarkHtml = "<h1 style='color:blue;'>Confidential</h1>";

        // Apply at 30% opacity, anchored to the top-left corner of each page
        pdf.applyWatermark(watermarkHtml, 30, VerticalAlignment.TOP, HorizontalAlignment.LEFT);

        // Save the result
        pdf.saveAs("watermark_opacity_alignment.pdf");
    }
}
JAVA

La combinaison des trois paramètres optionnels offre neuf options de positionnement distinctes, une pour chaque intersection d'alignement vertical et horizontal. Pour les cas d'utilisation nécessitant des filigranes à plusieurs positions sur la même page, ou des filigranes appliqués uniquement à une plage de pages spécifique, les classes de tamponneuses offrent un contrôle plus fin. Consultez le guide des arrière-plans et avant-plans pour des techniques de composition en couches.

Quelles sont les options d'alignement disponibles ?

La méthode applyWatermark prend en charge les constantes d'alignement suivantes :

Alignement vertical (VerticalAlignment):

  • TOP - filigrane ancré au bord supérieur
  • MIDDLE - filigrane centré verticalement
  • BOTTOM - filigrane ancré au bord inférieur

Alignement horizontal (HorizontalAlignment):

  • LEFT - filigrane ancré au bord gauche
  • CENTER - filigrane centré horizontalement
  • RIGHT - filigrane ancré au bord droit

Veuillez noterL'appel par défaut applyWatermark(html) sans paramètres supplémentaires équivaut à passer l'opacité 50, VerticalAlignment.MIDDLE, HorizontalAlignment.CENTER.

Associez n'importe quelle valeur verticale avec n'importe quelle valeur horizontale pour un contrôle précis. Pour les documents nécessitant plusieurs tampons superposés, tels qu'un logo dans le coin supérieur droit et un avis de brouillon centré en diagonale, appliquez chaque tampon en tant qu'appel applyWatermark séparé. Pour les superpositions basées sur des annotations, consultez l'exemple d'annotations.


Comment appliquer des filigranes avancés avec TextStamper et ImageStamper ?

La méthode applyWatermark couvre la plupart des besoins en matière de filigrane, mais les classes TextStamper et ImageStamper offrent un contrôle programmatique lorsque des coordonnées exactes en pixels, un ciblage de plage de pages ou une génération de texte dynamique sont nécessaires. Les deux classes appartiennent au package com.ironsoftware.ironpdf.stamp.

TextStamper accepte une valeur de chaîne et expose des propriétés pour la police, la taille de la police, la couleur de la police, l'alignement horizontal et vertical, et l'opacité. Il prend également en charge la rotation sous forme d'entier (degrés). ImageStamper accepte un chemin de fichier ou un tableau d'octets pour l'image et expose les mêmes contrôles d'alignement et d'opacité qu'TextStamper.

L'avantage clé des classes de timbre par rapport à applyWatermark est la possibilité de cibler des pages spécifiques. Passez une liste de numéros de page indexés à zéro à la méthode stamp pour appliquer le filigrane uniquement aux pages qui en ont besoin, par exemple en estampillant seulement la page de couverture d'un rapport ou la page d'approbation finale d'un contrat.

//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/text-stamper.java
import java.io.IOException;
import java.nio.file.Paths;
import java.util.Arrays;

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.TextStamper;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key for IronPDF
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

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

        // Configure a TextStamper with custom font, rotation, and opacity
        TextStamper stamper = new TextStamper();
        stamper.setText("DRAFT");
        stamper.setFontSize(72);
        stamper.setFontColor("gray");
        stamper.setOpacity(40);
        stamper.setRotation(45);
        stamper.setVerticalAlignment(VerticalAlignment.MIDDLE);
        stamper.setHorizontalAlignment(HorizontalAlignment.CENTER);

        // Apply the stamp only to pages 0 and 1 (zero-indexed)
        pdf.stamp(stamper, Arrays.asList(0, 1));

        // Save the stamped PDF
        pdf.saveAs("text_stamped.pdf");
    }
}
//:path=/static-assets/pdf/content-code-examples/how-to/custom-watermark/text-stamper.java
import java.io.IOException;
import java.nio.file.Paths;
import java.util.Arrays;

import com.ironsoftware.ironpdf.License;
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.stamp.HorizontalAlignment;
import com.ironsoftware.ironpdf.stamp.TextStamper;
import com.ironsoftware.ironpdf.stamp.VerticalAlignment;

public class Main {
    public static void main(String[] args) throws IOException {
        // Set the license key for IronPDF
        License.setLicenseKey("IRONPDF-MYLICENSE-KEY-1EF01");

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

        // Configure a TextStamper with custom font, rotation, and opacity
        TextStamper stamper = new TextStamper();
        stamper.setText("DRAFT");
        stamper.setFontSize(72);
        stamper.setFontColor("gray");
        stamper.setOpacity(40);
        stamper.setRotation(45);
        stamper.setVerticalAlignment(VerticalAlignment.MIDDLE);
        stamper.setHorizontalAlignment(HorizontalAlignment.CENTER);

        // Apply the stamp only to pages 0 and 1 (zero-indexed)
        pdf.stamp(stamper, Arrays.asList(0, 1));

        // Save the stamped PDF
        pdf.saveAs("text_stamped.pdf");
    }
}
JAVA

La méthode stamp accepte un List<Integer> de numéros de page indexés à zéro, donnant un contrôle précis sur les pages qui reçoivent le filigrane. Lorsque aucune liste de pages n'est fournie, le tampon s'applique à toutes les pages. Cela fait de TextStamper le bon choix chaque fois que votre application génère des filigranes dynamiquement, comme l'intégration d'un ID de transaction unique, nom d'utilisateur ou horodatage sur chaque PDF généré.

ImportantLes classes TextStamper et ImageStamper partagent une classe de base Stamper commune. Utilisez l'approche de la tamponneuse chaque fois que votre application génère des filigranes dynamiquement, par exemple en intégrant un identifiant de transaction unique ou un nom d'utilisateur sur chaque PDF généré.

Pour le traitement par lots, tel que le timbrage de centaines de PDF avec des filigranes uniques spécifiques aux clients, chargez et tamponnez chaque PdfDocument dans une boucle, puis appelez saveAs avant la prochaine itération. IronPDF traite chaque document indépendamment, de sorte que l'utilisation de la mémoire reste limitée. Le guide de timbrage PDF Java couvre ImageStamper et les options de timbrage supplémentaires en détail, et la documentation Java d'IronPDF fournit la référence complète de l'API.

En quoi TextStamper diffère d'applyWatermark ?

La méthode applyWatermark est optimisée pour des tampons multi-pages rapides et cohérents à partir de chaînes HTML. TextStamper et ImageStamper couvrent les scénarios où applyWatermark est insuffisant : cibler un sous-ensemble de pages, appliquer plusieurs tampons distincts avec différentes configurations, ou créer des paramètres de filigrane de manière programmatique à partir d'une base de données ou de l'entrée utilisateur. Les deux approches produisent une sortie de qualité vectorielle intégrée directement dans le flux de contenu PDF, de sorte que les filigranes survivrent à la ré-enregistrement, l'impression et les lecteurs PDF qui ne respectent pas les calques de contenu optionnels.

Les développeurs travaillant avec la bibliothèque Apache PDFBox pour le filigrane constateront que l'approche d'IronPDF est considérablement plus simple. PDFBox exige une construction manuelle des flux de contenu et la gestion des ressources, tandis qu'applyWatermark accepte une simple chaîne HTML. Le guide de filigrane iText sur Baeldung illustre une tâche comparable avec iText, qui implique la création d'objets PdfStampAnnotation et leur ajout par un pipeline PdfCanvas. IronPDF réduit cela à un seul appel de méthode.

ConseilsPour vérifier la sortie de filigrane de manière programmatique, extrayez le contenu texte avec PdfDocument.extractAllText() et vérifiez la chaîne de filigrane attendue, ou utilisez la discussion de la communauté Stack Overflow sur la manipulation PDF en Java pour les modèles de dépannage courants.


Quelles sont les prochaines étapes pour le filigrane de PDF en Java ?

Ce guide a couvert quatre approches pour ajouter des filigranes aux PDFs avec IronPDF for Java : des filigranes texte simples via applyWatermark, des filigranes d'image utilisant des balises HTML <img>, le contrôle de l'opacité et de l'alignement par paramètres de méthode, et le timbrage programmatique avec TextStamper et ImageStamper pour les cas d'utilisation avancés.

Commencez votre essai gratuit pour tester le filigrane dans votre application Java. L'essai comprend un accès complet à toutes les fonctionnalités de tamponnage et de filigranage sans limite de temps pour l'évaluation. Lorsque vous êtes prêt à déployer, consultez les options de licence pour trouver le niveau qui correspond à votre utilisation.

Prêt à voir ce que vous pouvez faire d'autre? Consultez la page de tutoriels complète ici : Guides How-To IronPDF for Java

Questions Fréquemment Posées

Comment ajouter un filigrane textuel à un PDF en Java ?

Chargez votre PDF avec PdfDocument.fromFile(), puis appelez pdf.applyWatermark() avec une chaîne HTML. IronPDF rend tout HTML et CSS valide, de sorte que vous pouvez définir la couleur, la taille de la police et l'opacité directement sur l'élément.

Puis-je utiliser des images comme filigranes en Java ?

Oui. Passez une balise <img> dans votre chaîne HTML à applyWatermark(). Les fichiers PNG avec des arrière-plans transparents produisent les résultats les plus clairs. Vous pouvez également utiliser la classe ImageStamper pour cibler une plage de pages.

Comment puis-je contrôler l'opacité du filigrane ?

Passez un entier de 0 (entièrement transparent) à 100 (entièrement opaque) comme deuxième argument de applyWatermark(). Les valeurs comprises entre 20 et 40 fonctionnent bien pour la plupart des documents sans masquer le texte du corps.

Puis-je faire pivoter un filigrane en diagonale ?

Oui. Ajoutez un style CSS transform: rotate(-45deg) à votre élément HTML avant de le passer à applyWatermark(). IronPDF applique toutes les transformations CSS3 standards lors du rendu.

Quelle est la différence entre applyWatermark et TextStamper ?

applyWatermark() est l'approche la plus rapide pour appliquer le même tampon basé sur HTML à chaque page. TextStamper offre un contrôle programmatique sur la police, la rotation et une liste de pages pour cibler uniquement les pages spécifiques.

Comment positionner un filigrane à un emplacement spécifique ?

Passez les valeurs d'énumération VerticalAlignment et HorizontalAlignment comme troisième et quatrième arguments à applyWatermark(). Les positions disponibles incluent TOP, MIDDLE, BOTTOM combinés avec LEFT, CENTER, RIGHT.

Puis-je appliquer différents filigranes à différentes pages ?

Oui. Utilisez TextStamper ou ImageStamper et passez une liste de numéros de pages basés sur zéro à la méthode stamp() pour cibler uniquement les pages nécessitant un filigrane spécifique.

Puis-je combiner des filigranes de texte et d'image dans le même PDF ?

Oui. Appelez applyWatermark() plusieurs fois ou effectuez plusieurs appels de stamp() avant de sauvegarder. Chaque appel ajoute une nouvelle couche au flux de contenu PDF de manière indépendante.

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.6 vient de sortir
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.