HTML vers PDF en Java

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

IronPDF for Java donne aux développeurs un chemin direct du contenu HTML à la sortie PDF sans besoin d'apprendre une API de mise en page séparée. La bibliothèque rend le HTML, le CSS et le JavaScript de la même manière qu'un navigateur moderne le fait, de sorte que la sortie PDF correspond à ce que vous voyez à l'écran. Ce tutoriel couvre l'installation, les trois méthodes principales de conversion HTML-vers-PDF et les options de formatage, y compris les en-têtes, les pieds de page, les dimensions de page et les marges personnalisées.

Le tutoriel utilise IronPDF for Java. Un guide parallèle couvrant la version .NET est disponible sur le tutoriel de conversion HTML vers PDF for .NET. IronPDF est également disponible pour Python et Node.js.

Démarrage rapide : Convertir HTML en fichier PDF

Le chemin le plus court vers un PDF à partir d'une chaîne HTML est de trois lignes de code Java :

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/quickstart.java
import com.ironsoftware.ironpdf.*;
// Convert an HTML string directly to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save to disk
pdf.saveAs("output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/quickstart.java
import com.ironsoftware.ironpdf.*;
// Convert an HTML string directly to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save to disk
pdf.saveAs("output.pdf");
JAVA

Commencez à utiliser IronPDF dans votre projet aujourd'hui avec un essai gratuit.

Première étape :
green arrow pointer

Table des matières

Comment ajouter IronPDF à un projet Maven en Java ?

L'ajout d'IronPDF à un projet Maven nécessite deux entrées dans le bloc de dépendances pom.xml du projet. La première récupère la bibliothèque IronPDF ; la seconde ajoute un fournisseur de journalisation SLF4J pour qu'IronPDF puisse écrire des messages du moteur pendant l'exécution.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/maven-dependency.xml
<dependency>
  <groupId>com.ironsoftware</groupId>
  <artifactId>ironpdf</artifactId>
  <version>2024.9.1</version>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-simple</artifactId>
  <version>2.0.5</version>
</dependency>
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/maven-dependency.xml
<dependency>
  <groupId>com.ironsoftware</groupId>
  <artifactId>ironpdf</artifactId>
  <version>2024.9.1</version>
</dependency>
<dependency>
  <groupId>org.slf4j</groupId>
  <artifactId>slf4j-simple</artifactId>
  <version>2.0.5</version>
</dependency>
XML

L'artefact ironpdf fait référence à la dernière version d'IronPDF for Java et à son journal des modifications. La dépendance slf4j-simple fournit un backend de journalisation de base. You can substitute it with Logback or Log4J as needed, or omit it entirely to suppress log output.

Après avoir ajouté les deux entrées, exécutez mvn install depuis la racine du projet pour télécharger les artefacts. Maven resolves the dependency against Maven Central.

ConseilsConsultez la page Maven Central pour com.ironsoftware:ironpdf afin de vérifier le numéro de la dernière version avant de l'ajouter à votre fichier pom.xml.

Comment installer manuellement le JAR IronPDF en Java ?

Les projets qui n'utilisent pas Maven ou un autre gestionnaire de dépendances peuvent ajouter IronPDF en téléchargeant directement le JAR et en l'incluant dans le classpath. Accédez à la page de téléchargement d'IronPDF for Java et téléchargez le fichier JAR -fat.

Le JAR-fort regroupe toutes les dépendances, donc aucune entrée supplémentaire de classpath n'est requise au-delà de l'artefact principal. Optionally download an SLF4J implementation JAR to enable logging.

Ajoutez les deux fichiers JAR au classpath du projet à l'aide du panneau de gestion des bibliothèques de votre IDE, ou spécifiez les entrées -classpath lors de la compilation et de l'exécution depuis le terminal.

Comment importer IronPDF dans mes fichiers source Java ?

Le package com.ironsoftware.ironpdf contient tous les composants de conversion et de traitement. Placez l'instruction d'importation suivante en haut de chaque fichier Java qui appelle les méthodes IronPDF.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/import-statement.java
// Import all IronPDF components
import com.ironsoftware.ironpdf.*;
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/import-statement.java
// Import all IronPDF components
import com.ironsoftware.ironpdf.*;
JAVA

Une importation ciblée qui nomme des classes spécifiques est également valable : import com.ironsoftware.ironpdf.PdfDocument;. L'importation par wildcard est pratique pendant l'exploration.

Comment définir une clé de licence dans IronPDF for Java ?

IronPDF for Java est gratuit à utiliser sans clé de licence, mais il applique un filigrane en mosaïque à tous les documents PDF générés ou modifiés. Pour supprimer le filigrane, fournissez une clé de licence valide avant d'appeler une méthode de conversion ou de manipulation.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-license-key.java
// Set the license key before any PDF operations
License.setLicenseKey("YOUR-LICENSE-KEY");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-license-key.java
// Set the license key before any PDF operations
License.setLicenseKey("YOUR-LICENSE-KEY");
JAVA

Placez l'appel setLicenseKey au démarrage de l'application, avant que toute méthode PdfDocument ne soit appelée. Achetez une clé de licence ou commencez un essai gratuit pour générer des PDFs sans filigranes.

IronPDF licensing page showing how to obtain a license key to remove watermarks from generated PDFs

Une clé de licence valide supprime le filigrane en mosaïque des PDFs générés. Obtenez-en une sur la page de licences IronPDF ou demandez un essai gratuit.

Définition de l'emplacement du fichier de journal (facultatif)

Par défaut, IronPDF enregistre les messages du moteur dans un fichier nommé IronPdfEngine.log situé dans le répertoire racine de l'application. Pour modifier le chemin d'accès au fichier journal, appelez Settings.setLogPath avant d'effectuer toute opération sur le PDF.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-log-path.java
import java.nio.file.Paths;
// Redirect log output before using IronPDF
Settings.setLogPath(Paths.get("logs/ironpdf-engine.log"));
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-log-path.java
import java.nio.file.Paths;
// Redirect log output before using IronPDF
Settings.setLogPath(Paths.get("logs/ironpdf-engine.log"));
JAVA

Veuillez noterL'appel setLogPath doit précéder tous les appels PdfDocument. L'appeler après qu'une conversion a commencé n'a aucun effet sur cette session.

Comment convertir une chaîne HTML en PDF en Java ?

PdfDocument.renderHtmlAsPdf(String html) convertit tout balisage HTML valide en document PDF. La méthode accepte une chaîne HTML brute et renvoie un objet PdfDocument qui peut être économisé, fusionné ou modifié ultérieurement.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-to-pdf.java
// Convert a minimal HTML string to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting document to disk
pdf.saveAs("html-string-output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-to-pdf.java
// Convert a minimal HTML string to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting document to disk
pdf.saveAs("html-string-output.pdf");
JAVA
PDF output from IronPDF renderHtmlAsPdf showing an H1 heading rendered faithfully from an HTML string

IronPDF rend le balisage HTML directement en un PDF au pixel près. La sortie affichée ici a été générée par l'exemple de code ci-dessus.

Le moteur de rendu est basé sur Chromium, donc tout HTML, CSS ou JavaScript qui fonctionne dans Chrome se rendra correctement dans le PDF. Cela inclut les mises en page Flexbox, CSS Grid, les polices Web, SVGs, et les graphiques pilotés par JavaScript.

Une version surchargée de la méthode accepte un deuxième argument pour un chemin de base : renderHtmlAsPdf(String html, String basePath). Ce chemin de base est utilisé pour résoudre les références relatives aux feuilles de style locales, images, et scripts.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-with-assets.java
// HTML referencing local stylesheet and image
String html = "<html><head><link rel='stylesheet' href='style.css'></head>"
    + "<body><img src='logo.png'/><h1>Invoice</h1></body></html>";
// Provide the folder containing style.css and logo.png as the base path
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice-output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-with-assets.java
// HTML referencing local stylesheet and image
String html = "<html><head><link rel='stylesheet' href='style.css'></head>"
    + "<body><img src='logo.png'/><h1>Invoice</h1></body></html>";
// Provide the folder containing style.css and logo.png as the base path
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice-output.pdf");
JAVA

Le chemin de base peut pointer vers un répertoire sur le système de fichiers local ou vers une URL distante. IronPDF récupère les ressources référencées depuis cet emplacement pendant le rendu.

IronPDF renderHtmlAsPdf output showing a full-page document with stylesheet applied, CSS styles preserved from the HTML source

Lorsqu'un chemin de base est fourni, IronPDF résout les références de CSS et d'images locales pour produire un PDF complètement stylé.

ConseilsPour que la résolution des ressources locales fonctionne, tous les fichiers référencés doivent être accessibles depuis le chemin de base. Les chemins utilisant des barres obliques fonctionnent à la fois sous Windows et Linux.

Pour un aperçu ciblé de cette méthode, voir l'exemple de code de conversion de chaîne HTML en PDF.

Comment convertir une URL en PDF en Java ?

PdfDocument.renderUrlAsPdf(String url) récupère la page à l'URL indiquée et rend le DOM complet (y compris l'exécution JavaScript) avant d'enregistrer le résultat au format PDF.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/url-to-pdf.java
// Render a live web page to PDF by URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the rendered document
pdf.saveAs("wikipedia-pdf-article.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/url-to-pdf.java
// Render a live web page to PDF by URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the rendered document
pdf.saveAs("wikipedia-pdf-article.pdf");
JAVA
PDF generated by IronPDF from the Wikipedia PDF article page, showing multi-column layout and navigation elements preserved

IronPDF capture l'état rendu complet d'une page web, y compris le contenu dynamique produit par JavaScript.

Le moteur de rendu Chromium extrait les feuilles de style externes, les polices et les fichiers JavaScript, de sorte que le PDF obtenu reflète fidèlement l'état visuel de la page. Cette méthode est bien adaptée à la génération de rapports à partir de tableaux de bord web, à l'archivage de contenu web public ou à la conversion de visualisations de données qui dépendent du rendu côté client.

ImportantLa conversion de URL en PDF nécessite un accès HTTP/HTTPS sortant depuis le serveur exécutant IronPDF. Assurez-vous que les politiques réseau le permettent avant de déployer dans un environnement de production.

Voir l'exemple dédié de conversion d'URL en PDF pour des options supplémentaires telles que les en-têtes de requête personnalisés et l'authentification.

Comment convertir un fichier HTML en PDF en Java ?

PdfDocument.renderHtmlFileAsPdf(String filePath) lit un fichier HTML à partir du système de fichiers local et le convertit au format PDF. La méthode résout automatiquement les références d'actifs relatives dans le fichier HTML par rapport au répertoire du fichier.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-file-to-pdf.java
// Convert a local HTML file (with a linked CSS file) to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the resulting document
pdf.saveAs("invoice-from-file.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-file-to-pdf.java
// Convert a local HTML file (with a linked CSS file) to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the resulting document
pdf.saveAs("invoice-from-file.pdf");
JAVA

La méthode gère correctement les projets HTML à plusieurs fichiers. Dans l'exemple ci-dessus, si TestInvoice1.html renvoie à une feuille de style située dans le même répertoire, IronPDF applique cette feuille de style lors du rendu. Le résultat est un PDF qui correspond à l'apparence rendue par le navigateur du fichier source.

ConseilsUtilisez des chemins d'accès absolus lorsque vous appelez renderHtmlFileAsPdf depuis une application serveur. Les chemins relatifs sont résolus par rapport au répertoire de travail de la JVM, qui peut différer de l'emplacement du fichier HTML.

Cette méthode est particulièrement utile pour les flux de travail de génération de PDF qui maintiennent des modèles HTML sur disque : générateurs de factures, modèles de rapports et systèmes de sortie de formulaires sont des cas d'utilisation courants.

Comment définir la taille et l'orientation des pages PDF en Java ?

La taille et l'orientation de la page sont contrôlées via la classe ChromePdfRenderOptions. Créez une instance ChromePdfRenderOptions, configurez ses propriétés, puis transmettez-la en tant que deuxième argument à n'importe quel appel renderHtmlAsPdf.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/page-size-orientation.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Create rendering options for the PDF
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set paper size to A4
options.setPaperSize(PaperSize.A4);
// Set to landscape orientation
options.setPaperOrientation(PaperOrientation.Landscape);
// Apply options to the conversion
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Landscape Report</h1>", options);
pdf.saveAs("landscape-a4-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/page-size-orientation.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Create rendering options for the PDF
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set paper size to A4
options.setPaperSize(PaperSize.A4);
// Set to landscape orientation
options.setPaperOrientation(PaperOrientation.Landscape);
// Apply options to the conversion
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Landscape Report</h1>", options);
pdf.saveAs("landscape-a4-report.pdf");
JAVA

PaperSize inclut des options standard telles que A4, Letter, Legal, A3 et A5. PaperOrientation accepte Portrait (par défaut) ou Landscape.

Pour les dimensions non standard, utilisez setCustomPaperSizeInMillimeters(double width, double height) ou setCustomPaperSizeInInches(double width, double height) :

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-paper-size.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set a custom 100mm x 150mm page size
options.setCustomPaperSizeInMillimeters(100, 150);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<p>Custom size card</p>", options);
pdf.saveAs("custom-size-card.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-paper-size.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set a custom 100mm x 150mm page size
options.setCustomPaperSizeInMillimeters(100, 150);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<p>Custom size card</p>", options);
pdf.saveAs("custom-size-card.pdf");
JAVA

Consultez l'exemple de format de papier PDF personnalisé pour obtenir la liste complète des constantes PaperSize et des options de dimensionnement.

Comment définir des marges personnalisées sur un PDF en Java ?

Les tailles de marge sont également définies via ChromePdfRenderOptions. La bibliothèque expose des setters séparés pour les marges supérieure, inférieure, gauche et droite, acceptant toutes des valeurs en millimètres.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-margins.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set all four margins in millimeters
options.setMarginTop(20);
options.setMarginBottom(20);
options.setMarginLeft(15);
options.setMarginRight(15);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<p>Document with custom margins</p>", options);
pdf.saveAs("custom-margins.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-margins.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set all four margins in millimeters
options.setMarginTop(20);
options.setMarginBottom(20);
options.setMarginLeft(15);
options.setMarginRight(15);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<p>Document with custom margins</p>", options);
pdf.saveAs("custom-margins.pdf");
JAVA

Définir toutes les marges à zéro supprime complètement l'espace blanc, ce qui est utile pour les conceptions sans marges telles que les étiquettes, les certificats ou les mises en page graphiques.

Veuillez noterLes valeurs des marges IronPDF sont en millimètres. La valeur 0 désactive la marge sur ce côté. Notez que les marges du pilote d'imprimante sont distinctes des marges IronPDF, donc le contenu qui remplit la page de bord à bord peut encore être rogné lors de l'impression.

Pour un exemple de code fonctionnel, visitez l'exemple de marges personnalisées.

Comment ajouter des en-têtes et pieds de page à un PDF en Java ?

IronPDF prend en charge deux types d'en-têtes et de pieds de page : basés sur du texte (TextHeaderFooter) et basés sur du HTML (HtmlHeaderFooter). Les en-têtes de texte sont rapides à configurer ; Les en-têtes HTML prennent en charge le style complet et les images.

Ajout d'un en-tête et pied de page texte

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/text-header-footer.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
import com.ironsoftware.ironpdf.render.*;
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Configure a text-based header
TextHeaderFooter header = new TextHeaderFooter();
// Use merge fields: {page}, {total-pages}, {date}, {time}, {url}, {html-title}
header.setCenterText("Report Title");
header.setRightText("Page {page} of {total-pages}");
options.setTextHeader(header);
// Configure a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setCenterText("{date}");
options.setTextFooter(footer);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Annual Report</h1><p>Content here.</p>", options);
pdf.saveAs("report-with-headers.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/text-header-footer.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
import com.ironsoftware.ironpdf.render.*;
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Configure a text-based header
TextHeaderFooter header = new TextHeaderFooter();
// Use merge fields: {page}, {total-pages}, {date}, {time}, {url}, {html-title}
header.setCenterText("Report Title");
header.setRightText("Page {page} of {total-pages}");
options.setTextHeader(header);
// Configure a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setCenterText("{date}");
options.setTextFooter(footer);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Annual Report</h1><p>Content here.</p>", options);
pdf.saveAs("report-with-headers.pdf");
JAVA

Les champs de fusion {page}, {total-pages}, {date}, {time}, {url} et {html-title} sont remplacés au moment du rendu par des valeurs spécifiques au document.

Ajout d'un en-tête HTML

Pour les en-têtes nécessitant des logos, des couleurs de marque ou des mises en page complexes, utilisez HtmlHeaderFooter :

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-header.java
import com.ironsoftware.ironpdf.headerfooter.*;
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setHtmlFragment(
    "<div style='background:#003366;color:white;padding:8px;font-family:Arial;'>"
    + "<img src='/images/logo.png' style='height:30px;float:left;'/>"
    + "<span style='line-height:30px;margin-left:10px;'>Company Report</span>"
    + "</div>"
);
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
options.setHtmlHeader(header);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Q3 Results</h1>", options);
pdf.saveAs("report-with-html-header.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-header.java
import com.ironsoftware.ironpdf.headerfooter.*;
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setHtmlFragment(
    "<div style='background:#003366;color:white;padding:8px;font-family:Arial;'>"
    + "<img src='/images/logo.png' style='height:30px;float:left;'/>"
    + "<span style='line-height:30px;margin-left:10px;'>Company Report</span>"
    + "</div>"
);
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
options.setHtmlHeader(header);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Q3 Results</h1>", options);
pdf.saveAs("report-with-html-header.pdf");
JAVA

ConseilsLes fragments d'en-tête HTML sont rendus dans leur propre contexte de page. Les chemins des images externes doivent être des URLs absolus ou des chemins accessibles depuis le serveur exécutant IronPDF.

Consultez l'exemple de code d'en-têtes et de pieds de page pour des options de champ de fusion supplémentaires et un comportement sur plusieurs pages.

Comment appliquer un filigrane à un PDF en Java ?

IronPDF applique des filigranes en estampillant le contenu HTML sur les pages PDF existantes. Cette approche donne un contrôle total sur le positionnement, la transparence et le style.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/watermark.java
import com.ironsoftware.ironpdf.*;
// Create the base PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Report</h1>");
// Apply a diagonal text watermark using HTML stamping
String watermarkHtml =
    "<div style='position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);"
    + "font-size:80px;color:rgba(200,0,0,0.15);font-family:Arial;font-weight:bold;"
    + "white-space:nowrap;pointer-events:none;'>CONFIDENTIAL</div>";
pdf.applyStamp(watermarkHtml);
pdf.saveAs("watermarked-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/watermark.java
import com.ironsoftware.ironpdf.*;
// Create the base PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Report</h1>");
// Apply a diagonal text watermark using HTML stamping
String watermarkHtml =
    "<div style='position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);"
    + "font-size:80px;color:rgba(200,0,0,0.15);font-family:Arial;font-weight:bold;"
    + "white-space:nowrap;pointer-events:none;'>CONFIDENTIAL</div>";
pdf.applyStamp(watermarkHtml);
pdf.saveAs("watermarked-report.pdf");
JAVA

La méthode applyStamp accepte le HTML/CSS standard. L'utilisation d'une couleur semi-transparente rgba pour le texte garantit que le filigrane est visible sans masquer le contenu du document situé en dessous.

Pour des filigranes basés sur des images ou des filigranes appliqués à des plages de pages spécifiques, consultez le guide de filigrane personnalisé for Java.

Comment compresser un fichier PDF en Java ?

Pour les fichiers PDF contenant des images, IronPDF peut réduire la taille du fichier en rééchantillonnant les images incorporées à une résolution inférieure. Utilisez compressImages sur un PdfDocument existant.

//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/compress-pdf.java
// Load an existing PDF or use one created by IronPDF
PdfDocument pdf = PdfDocument.fromFile(Paths.get("large-report.pdf"));
// Reduce image quality to 60% (value range: 1–100)
pdf.compressImages(60);
// Save the compressed document
pdf.saveAs("compressed-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/compress-pdf.java
// Load an existing PDF or use one created by IronPDF
PdfDocument pdf = PdfDocument.fromFile(Paths.get("large-report.pdf"));
// Reduce image quality to 60% (value range: 1–100)
pdf.compressImages(60);
// Save the compressed document
pdf.saveAs("compressed-report.pdf");
JAVA

Le paramètre de qualité est un entier de 1 à 100, où 100 préserve la qualité complète de l'image et des valeurs plus basses réduisent la taille du fichier au prix de la fidélité de l'image. Une valeur de 60 à 80 offre un équilibre pratique entre la taille et la qualité visuelle pour la plupart des documents professionnels.

AvertissementLa compression d'image est destructive. Les données d'image originales ne peuvent pas être récupérées à partir d'un PDF compressé. Gardez toujours le fichier source si la qualité originale peut être nécessaire plus tard.

Voir l'exemple de compression PDF pour plus de détails sur les seuils de qualité d'image.

Prochaines étapes

Ce tutoriel a couvert les trois méthodes de conversion de HTML en PDF (chaîne, URL et fichier) ainsi que le dimensionnement des pages, les marges, les en-têtes, les pieds de page, les filigranes et la compression. Ce sont les opérations de formatage PDF les plus courantes pour les applications serveur Java.

Pour aller plus loin avec IronPDF for Java :

Commencez un essai gratuit pour générer des PDF sans filigranes, ou consultez les options de licence pour ajouter IronPDF à un projet de production.


Accès rapide au tutoriel

Téléchargement du projet IntelliJ IronPDF for Java

Télécharger ce didacticiel sous forme de code source Java

Le code source complet de HTML à PDF Java pour ce tutoriel est disponible en téléchargement gratuit sous forme de projet IntelliJ zippé.

Télécharger

Explorez ce tutoriel sur GitHub

Le code source de ce projet est disponible sur GitHub en tant que projet IntelliJ IDEA qui peut également être importé dans Eclipse ou d'autres IDE Java.

Exemples de formatage de PDF IronPDF for Java
Dépôt GitHub pour le code source du tutoriel IronPDF Java
Documentation de référence de l'API IronPDF Java

Voir la référence API

Explorez la référence de l'API pour IronPDF for Java, couvrant les détails de toutes les classes, méthodes, champs et énumérations dans le package com.ironsoftware.ironpdf.

Consultez la référence de l'API IronPDF for Java

Questions Fréquemment Posées

Comment convertir une chaîne HTML en PDF en Java?

Utilisez PdfDocument.renderHtmlAsPdf(String html) de la bibliothèque IronPDF for Java. Passez votre balisage HTML comme argument chaîne, puis appelez saveAs sur l'objet PdfDocument renvoyé pour écrire le fichier sur le disque.

Comment ajouter IronPDF à un projet Maven ?

Ajoutez l'artifact com.ironsoftware:ironpdf à la section de votre fichier pom.xml. Ajoutez également une implémentation SLF4J comme org.slf4j:slf4j-simple pour activer la journalisation. Exécutez mvn install pour télécharger les deux artefacts.

Comment définir la taille de page d'un PDF généré avec IronPDF for Java?

Créez un objet ChromePdfRenderOptions et appelez setPaperSize(PaperSize.A4) (ou une autre constante). Passez l'objet options en second argument à renderHtmlAsPdf. Pour des dimensions non standard, utilisez setCustomPaperSizeInMillimeters.

Comment ajouter un en-tête et un pied de page à un PDF en Java?

Utilisez TextHeaderFooter pour les en-têtes et pieds de page en texte brut, ou HtmlHeaderFooter pour le contenu HTML entièrement stylé. Configurez l'objet avec du texte ou HTML, réglez-le sur une instance ChromePdfRenderOptions en utilisant setTextHeader ou setHtmlHeader, et passez les options à la méthode de rendu.

Comment appliquer un filigrane à un PDF en using IronPDF for Java?

Appelez applyStamp(String htmlFragment) sur un PdfDocument existant. Passez une chaîne HTML qui définit l'apparence du filigrane, en utilisant le CSS position:absolute, transform:rotate, et une couleur rgba semi-transparente pour superposer le texte sans masquer le contenu en dessous.

IronPDF for Java peut-il convertir une page web en PDF?

Oui. Appelez PdfDocument.renderUrlAsPdf(String url) avec l'URL de la page. IronPDF utilise un moteur de rendu Chromium pour récupérer et exécuter la page, y compris JavaScript, avant de générer le PDF.

Comment supprimer le filigrane IronPDF des PDF générés?

Appelez License.setLicenseKey("VOTRE-CLÉ-LICENCE") avant toute opération PDF. Le filigrane est appliqué aux PDF générés sans clé de licence valide. Vous pouvez obtenir une licence ou une clé d'essai gratuite sur ironpdf.com/java/licensing/.

Comment compresser un fichier PDF avec IronPDF for Java?

Chargez le PDF en utilisant PdfDocument.fromFile, puis appelez compressImages(int quality) avec une valeur de 1 à 100. Des valeurs inférieures réduisent la taille des fichiers en remplaçant les images intégrées par une résolution inférieure. Appelez saveAs pour enregistrer le fichier compressé.

IronPDF for Java prend-il en charge les marges de page personnalisées?

Oui. Utilisez ChromePdfRenderOptions et appelez setMarginTop, setMarginBottom, setMarginLeft, et setMarginRight avec des valeurs en millimètres. Passez les options à la méthode de rendu pour appliquer les marges.

Quelles versions de Java IronPDF prend-il en charge?

IronPDF for Java prend en charge Java 8 et les versions ultérieures. La bibliothèque est disponible en tant qu'artéfact Maven à com.ironsoftware:ironpdf et en téléchargement standalone fat-JAR à partir de ironpdf.com/java/.

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.