HTML vers PDF en Java
Ce tutoriel explique aux développeurs Java comment utiliser la bibliothèque IronPDF pour convertir le contenu HTML en documents PDF (format de document portable) pixel-perfect.
*IronPDF est un convertisseur PDF complet et une bibliothèque de traitement des PDF. IronPDF est disponible pour les langages de programmation .NET et Java. Ce tutoriel couvre l'utilisation de la bibliothèque pour convertir du contenu HTML (fichiers, balisage, etc.) dans des applications Java. Le tutoriel pour convertir HTML en PDF dans les applications .NET est disponible dans le tutoriel HTML en PDF .NET.
Vue d'ensemble
Comment convertir HTML en PDF en Java

- Installer la bibliothèque Java pour convertir le HTML en PDF
- Convertir une chaîne HTML en document PDF en utilisant la méthode
renderHtmlAsPdf
- Générer des fichiers PDF à partir de l'URL d'un site web en Java
- Convertissez des fichiers HTML en fichiers PDF avec la méthode
renderHtmlFileAsPdf
- Enregistrer le PDF généré dans un nouveau fichier
Pour commencer
Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.
1. Installation de la bibliothèque IronPDF PDF pour Java
Il existe deux façons d'intégrer la bibliothèque IronPDF dans un projet Java :
-
Ajouter IronPDF for Java comme dépendance dans un projet Java configuré par Maven
-
Téléchargez le fichier JAR IronPDF et ajoutez-le manuellement au chemin de classe du projet.
La section suivante présente brièvement les deux méthodes d'installation.
Option 1 : Installer IronPDF en tant que dépendance Maven
Pour installer IronPDF dans un projet Java à l'aide de Maven, ajoutez les artefacts suivants à la section des dépendances du fichier pom.xml du projet Java.
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>com.ironsoftware</artifactId>
<version>2025.3.6</version>
</dependency>
Le premier artefact fait référence à la dernière version de la bibliothèque IronPDF. Le deuxième artefact fait référence à une implémentation [SL4J](https://www.slf4j.org/" target="_blank" rel="nofollow noopener noreferrer). Cette dépendance est nécessaire pour permettre au moteur de rendu d'IronPDF de générer des messages de journalisation pendant l'exécution. Les ingénieurs logiciels peuvent remplacer cette dépendance par d'autres fournisseurs de journalisation (tels que [Logback](https://logback.qos.ch/" target="_blank" rel="nofollow noopener noreferrer) et [Log4J](https://logging.apache.org/log4j/2.x/" target="_blank" rel="nofollow noreferrer noopener)); ou l'omettre complètement s'ils n'ont pas besoin ou envie de se loguer.
Exécutez la commande mvn install
dans un terminal au niveau du répertoire racine du projet Java pour télécharger les bibliothèques précédemment mentionnées.
Option 2 : Installer manuellement le JAR IronPDF
Les développeurs qui préfèrent ne pas utiliser Maven ou tout autre système de gestion des dépendances devront télécharger le fichier JAR de la bibliothèque IronPDF (et l'implémentation optionnelle [SL4J](https://mvnrepository.com/artifact/org.slf4j/slf4j-simple" target="_blank" rel="nofollow noopener noreferrer)) et l'ajouter manuellement au chemin de classe de leur projet.
Téléchargez le fichier JAR de IronPDF directement depuis Téléchargement du JAR IronPDF (ou depuis le référentiel Maven).
Guide pratique et exemples de code
2. Conversion de HTML en PDF
Cette section présente les capacités phares d'IronPDF en matière de rendu HTML vers PDF.
La classe PdfDocument
est le point d'entrée pour toutes les fonctionnalités de rendu et de manipulation de documents PDF de IronPDF. La classe comprend un ensemble de méthodes robustes pour convertir des documents HTML en documents PDF dans les trois cas d'utilisation suivants : conversion à partir d'une chaîne de caractères ou d'un marquage HTML, conversion à partir d'un fichier HTML et conversion à partir d'une URL. Cette section aborde brièvement chacun de ces cas d'utilisation et propose des liens vers des contenus complémentaires pour obtenir plus d'informations.
2.1 Importer le paquetage IronPDF
Tous les composants de conversion et de traitement d'IronPDF sont contenus dans le package com.ironsoftware.ironpdf.
Incluez l'instruction d'importation suivante en haut des fichiers source Java (là où IronPDF sera utilisé) pour rendre ces composants accessibles au code source de l'application.
// Import statement for IronPDF for Java
import com.ironsoftware.ironpdf.*;
2.2. Définir la clé de licence (facultatif)
L'utilisation d'IronPDF for Java est gratuite. Toutefois, pour les utilisateurs gratuits, il apposera une marque d'eau en arrière-plan en mosaïque sur les documents PDF (comme indiqué dans l'image ci-dessous).
Pour utiliser IronPDF afin de générer des PDF sans filigrane, la bibliothèque doit utiliser une clé de licence valide. La ligne de code ci-dessous configure la bibliothèque avec une clé de licence.
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
La clé de licence doit être définie avant de générer des fichiers PDF ou de personnaliser le contenu des fichiers. Nous vous recommandons d'appeler la méthode setLicenseKey
avant toutes les autres lignes de code.
Achetez une clé de licence sur la page de licence d'IronPDF, ou contactez-nous pour obtenir une clé de licence d'essai gratuite.
2.3 Définir l'emplacement du fichier journal (facultatif)
Par défaut (et en supposant qu'un fournisseur SLF4J est installé), IronPDF génère des messages de journal dans un fichier texte appelé IronPdfEngine.log situé dans le répertoire racine de l'application Java.
Pour spécifier un nom et un emplacement différents pour le fichier journal, utilisez la méthode Settings.setLogPath
:
// Set a log path
Settings.setLogPath(Paths.get("IronPdfEngine.log"));
Veuillez noter : Settings.setLogPath
doit être appelé avant d'utiliser toutes les méthodes de conversion et de manipulation PDF.
2.4. Création d'un PDF à partir d'une chaîne HTML
PdfDocument.renderHtmlAsPdf
convertit une chaîne de contenu HTML en un document PDF.
L'exemple de code suivant utilise un seul élément de titre pour générer un nouveau fichier.
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
pdf.saveAs("htmlstring_to_pdf.pdf");
renderHtmlAsPdf
traite tout le contenu HTML, CSS et JavaScript de la même manière que les navigateurs modernes conformes aux normes peuvent le faire. Cela permet aux ingénieurs logiciels de créer des documents PDF qui ressemblent exactement à ce qui apparaît dans un navigateur web.
La méthode renderHtmlAsPdf
peut utiliser des images, des feuilles de style et des scripts situés dans des dossiers sur un ordinateur ou sur un lecteur réseau. L'exemple suivant produit un document PDF à partir de HTML qui référence un fichier CSS et une image situés dans un dossier assets
:
String html = "<html><head><title>Hello world!</title><link rel='stylesheet' href='assets/style.css'></head><body><h1>Hello from IronPDF!</h1><a href="https://ironpdf.com/java/"><img src='assets/logo.png' /></a></body></html>";
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
pdf.saveAs("output.pdf");
Le résultat du code ci-dessus est illustré dans l'image ci-dessous.
Un second argument (optionnel) de renderHtmlAsPdf
permet aux développeurs de spécifier un chemin de base à partir duquel référencer les ressources web. Ce chemin peut être un répertoire du système de fichiers local ou même un chemin URL.
En savoir plus sur la méthode renderHtmlAsPdf
à partir de cet exemple de code sur l'utilisation de HTML pour créer un PDF, ou lisez à ce sujet sur la [page de référence API pour la classe PdfDocument](/java/object-reference/api/com/ironsoftware/ironpdf/PdfDocument.html#renderHtmlAsPdf(java.lang.String).
2.5. Créer un PDF à partir d'une URL
Les développeurs peuvent convertir des pages Web en ligne en documents PDF en utilisant la méthode PdfDocument.renderUrlAsPdf
d'IronPDF.
L'exemple suivant rend l'article de Wikipédia au format PDF.
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("url_to_pdf.pdf");
Le format du fichier PDF généré est indiqué ci-dessous.
En savoir plus sur la conversion de pages Web en contenu PDF avec cet exemple de code pour convertir une URL en PDF.
2.6. Création d'un PDF à partir d'un fichier HTML
IronPDF peut également convertir un document HTML stocké sur un système de fichiers local directement dans son format PDF équivalent.
L'exemple de code suivant utilise [cette facture comme démonstration concrète](https://codepen.io/tjoen/pen/wvgvLX" target="_blank" rel="nofollow noopener noreferrer) de la capacité d'IronPDF à convertir des fichiers HTML.
Le balisage HTML de la facture est reproduit ici pour plus de commodité :
<html>
<head>
<meta charset="utf-8">
<title>Invoice</title>
<link rel="stylesheet" href="style.css">
<link rel="license" href="https://www.opensource.org/licenses/mit-license/">
<script src="script.js"></script>
</head>
<body>
<header>
<h1>Invoice</h1>
<address contenteditable>
<p>Jonathan Neal</p>
<p>101 E. Chapman Ave<br>Orange, CA 92866</p>
<p>(800) 555-1234</p>
</address>
<span><img alt="" src="http://www.jonathantneal.com/examples/invoice/logo.png"><input type="file" accept="image/*"></span>
</header>
<article>
<h1>Recipient</h1>
<address contenteditable>
<p>Some Company<br>c/o Some Guy</p>
</address>
<table class="meta">
<tr>
<th><span contenteditable>Invoice #</span></th>
<td><span contenteditable>101138</span></td>
</tr>
<tr>
<th><span contenteditable>Date</span></th>
<td><span contenteditable>January 1, 2012</span></td>
</tr>
<tr>
<th><span contenteditable>Amount Due</span></th>
<td><span id="prefix" contenteditable>$</span><span>600.00</span></td>
</tr>
</table>
<table class="inventory">
<thead>
<tr>
<th><span contenteditable>Item</span></th>
<th><span contenteditable>Description</span></th>
<th><span contenteditable>Rate</span></th>
<th><span contenteditable>Quantity</span></th>
<th><span contenteditable>Price</span></th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="cut">-</a><span contenteditable>Front End Consultation</span></td>
<td><span contenteditable>Experience Review</span></td>
<td><span data-prefix>$</span><span contenteditable>150.00</span></td>
<td><span contenteditable>4</span></td>
<td><span data-prefix>$</span><span>600.00</span></td>
</tr>
</tbody>
</table>
<a class="add">+</a>
<table class="balance">
<tr>
<th><span contenteditable>Total</span></th>
<td><span data-prefix>$</span><span>600.00</span></td>
</tr>
<tr>
<th><span contenteditable>Amount Paid</span></th>
<td><span data-prefix>$</span><span contenteditable>0.00</span></td>
</tr>
<tr>
<th><span contenteditable>Balance Due</span></th>
<td><span data-prefix>$</span><span>600.00</span></td>
</tr>
</table>
</article>
<aside>
<h1><span contenteditable>Additional Notes</span></h1>
<div contenteditable>
<p>A finance charge of 1.5% will be made on unpaid balances after 30 days.</p>
</div>
</aside>
</body>
</html>
<html>
<head>
<meta charset="utf-8">
<title>Invoice</title>
<link rel="stylesheet" href="style.css">
<link rel="license" href="https://www.opensource.org/licenses/mit-license/">
<script src="script.js"></script>
</head>
<body>
<header>
<h1>Invoice</h1>
<address contenteditable>
<p>Jonathan Neal</p>
<p>101 E. Chapman Ave<br>Orange, CA 92866</p>
<p>(800) 555-1234</p>
</address>
<span><img alt="" src="http://www.jonathantneal.com/examples/invoice/logo.png"><input type="file" accept="image/*"></span>
</header>
<article>
<h1>Recipient</h1>
<address contenteditable>
<p>Some Company<br>c/o Some Guy</p>
</address>
<table class="meta">
<tr>
<th><span contenteditable>Invoice #</span></th>
<td><span contenteditable>101138</span></td>
</tr>
<tr>
<th><span contenteditable>Date</span></th>
<td><span contenteditable>January 1, 2012</span></td>
</tr>
<tr>
<th><span contenteditable>Amount Due</span></th>
<td><span id="prefix" contenteditable>$</span><span>600.00</span></td>
</tr>
</table>
<table class="inventory">
<thead>
<tr>
<th><span contenteditable>Item</span></th>
<th><span contenteditable>Description</span></th>
<th><span contenteditable>Rate</span></th>
<th><span contenteditable>Quantity</span></th>
<th><span contenteditable>Price</span></th>
</tr>
</thead>
<tbody>
<tr>
<td><a class="cut">-</a><span contenteditable>Front End Consultation</span></td>
<td><span contenteditable>Experience Review</span></td>
<td><span data-prefix>$</span><span contenteditable>150.00</span></td>
<td><span contenteditable>4</span></td>
<td><span data-prefix>$</span><span>600.00</span></td>
</tr>
</tbody>
</table>
<a class="add">+</a>
<table class="balance">
<tr>
<th><span contenteditable>Total</span></th>
<td><span data-prefix>$</span><span>600.00</span></td>
</tr>
<tr>
<th><span contenteditable>Amount Paid</span></th>
<td><span data-prefix>$</span><span contenteditable>0.00</span></td>
</tr>
<tr>
<th><span contenteditable>Balance Due</span></th>
<td><span data-prefix>$</span><span>600.00</span></td>
</tr>
</table>
</article>
<aside>
<h1><span contenteditable>Additional Notes</span></h1>
<div contenteditable>
<p>A finance charge of 1.5% will be made on unpaid balances after 30 days.</p>
</div>
</aside>
</body>
</html>
Supposons que le fichier HTML a été enregistré dans un dossier appelé factures avec son fichier CSS et son fichier JavaScript. Nous pouvons utiliser IronPDF pour convertir le fichier HTML comme suit :
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
Comme dans les exemples de conversion de chaînes HTML en PDF, IronPDF résout correctement toutes les URL relatives d'un document HTML en fonction de leur chemin d'accès sur le système de fichiers. Par conséquent, le fichier PDF produit dans cet exemple est capable de capturer parfaitement les influences visuelles que les feuilles de style et les scripts référencés auraient normalement sur une page web.
3. Pour en savoir plus
Nous n'avons fait qu'effleurer les capacités de rendu HTML vers PDF d'IronPDF.
Approfondissez votre compréhension de l'utilisation du convertisseur HTML en PDF pour le développement Java en utilisant les exemples de code sélectionnés présentés dans notre section Exemples de Code.
-
Lisez cet exemple de code pour les paramètres de génération de PDF pour apprendre à personnaliser l'apparence d'un document PDF pendant le processus de conversion.
-
Générez des fichiers PDF avec en-têtes et pieds de page personnalisés, tailles de marge, dimensions des pages, filigranes, et bien plus encore.
-
Extraire le contenu PDF (extraction de texte des PDF et extraction d'images des PDF) à partir de documents, optimiser la taille des fichiers avec la compression PDF, et imprimer des PDF par programmation avec les capacités d'IronPrint.
Étudiez la page de référence de l'API IronPDF Java sur la classe
PdfDocument
pour un contrôle encore plus grand sur le rendu de HTML en PDF.
Regarder la vidéo du tutoriel HTML vers PDF
Tutoriel Accès rapide
Télécharger ce tutoriel sous forme de code source Java
Le code source complet HTML vers PDF Java de ce tutoriel peut être téléchargé gratuitement sous la forme d'un projet IntelliJ zippé.
TéléchargerExplorer ce tutoriel sur GitHub
Le code source de ce projet est disponible sur GitHub.
Utilisez ce code comme un moyen facile d'être opérationnel en quelques minutes. Le projet est enregistré en tant que projet IntellJ IDEA, mais peut être importé dans d'autres IDE Java populaires.
Java HTML vers PDFVoir la référence de l'API
Explorez la référence API d'IronPDF, qui décrit en détail toutes les fonctionnalités, les espaces de noms, les classes, les méthodes, les champs et les énums d'IronPDF.
Voir la référence de l'API