HTML vers PDF en Java
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");
Commencez à utiliser IronPDF dans votre projet aujourd'hui avec un essai gratuit.
Table des matières
- Installation
- Conversion HTML en PDF
- Options de formatage PDF
- Prochaines étapes
Comment ajouter IronPDF à un projet Maven en Java ?
Ajouter IronPDF à un projet Maven nécessite deux entrées dans le bloc de dépendance du projet pom.xml. 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>
L'artifact ironpdf référence la dernière version et le journal des modifications de IronPDF for Java. La dépendance slf4j-simple fournit une base de journalisation de backend. Vous pouvez le remplacer par Logback ou Log4J si nécessaire, ou le supprimer entièrement pour supprimer la sortie des logs.
Après avoir ajouté les deux entrées, exécutez mvn install à partir de la racine du projet pour télécharger les artifacts. Maven résout la dépendance via Maven Central.
com.ironsoftware:ironpdf afin de confirmer le numéro de version le plus récent avant de l'ajouter à votre 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. Téléchargez optionnellement un JAR d'implémentation SLF4J pour activer la journalisation.
Ajoutez les deux JARs au classpath du projet à l'aide du panneau de gestion de bibliothèque de votre IDE, ou spécifiez des 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.*;
Un import ciblé qui nomme des classes spécifiques est également valide : 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");
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.
Définition de l'emplacement du fichier de journal (facultatif)
Par défaut, IronPDF écrit des messages du moteur dans un fichier nommé IronPdfEngine.log dans le répertoire racine de l'application. Pour changer le chemin du fichier de log, appelez Settings.setLogPath avant de réaliser des opérations 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"));
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 retourne un objet PdfDocument qui peut être enregistré, fusionné ou modifié davantage.
: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");
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 second 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");
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.
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 donnée et rend le DOM complet (y compris l'exécution JavaScript) avant de sauvegarder la sortie sous forme de 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");
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.
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 depuis le système de fichiers local et le convertit en 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");
La méthode gère correctement les projets HTML à plusieurs fichiers. Dans l'exemple ci-dessus, si TestInvoice1.html relie à une feuille de style dans le même répertoire, IronPDF applique cette feuille de style pendant le rendu. Le résultat est un PDF qui correspond à l'apparence rendue par le navigateur du fichier source.
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 de ChromePdfRenderOptions, configurez les propriétés, et passez-la en tant que second argument à tout 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");
PaperSize inclut des options standard telles que A4, Letter, Legal, A3, et A5. PaperOrientation accepte Portrait (par défaut) ou Landscape.
Pour des 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");
Voir l'exemple de taille de papier PDF personnalisée pour 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");
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.
0 désactive la marge sur ce bord. 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.
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.
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 le texte (TextHeaderFooter) et basés sur 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");
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");
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");
La méthode applyStamp accepte le HTML/CSS standard. L'utilisation d'une couleur rgba semi-transparente pour le texte assure que le filigrane est visible sans masquer le contenu du document 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é pour 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");
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.
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 :
- Découvrez les exemples de code complet pour IronPDF for Java pour des points de départ copier-coller
- Lisez l'exemple de paramètres de génération PDF pour les options de DPI, de zoom et de qualité de rendu
- Voyez comment extraire le texte et les images des PDF existants
- Apprenez comment imprimer des PDF de manière programmatique à partir d'une application Java
- Parcourez la référence API IronPDF for Java pour la liste complète des méthodes
PdfDocument
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é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échargerExplorez 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 JavaVoir 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.
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 <dependencies> 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 utilisant 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/.






