Comment convertir HTML en PDF en utilisant IronPDF pour JAVA

HTML to PDF in Java

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

Ce tutoriel explique aux développeurs Java comment utiliser la bibliothèque IronPDF pour convertir du contenu HTML en documents PDF (format de document portable) parfaits au pixel près.

IronPDF est une bibliothèque complète de conversion et de traitement PDF. IronPDF is available for both .NET and Java programming languages. Ce tutoriel couvre l'utilisation de la bibliothèque pour convertir du contenu HTML (fichiers, balisage, etc.) dans des applications Java. Le tutoriel sur la conversion de HTML à PDF dans des applications .NET est disponible dans le tutoriel HTML to PDF .NET._


Comment Convertir du HTML en PDF en Java

Comment Convertir du HTML en PDF en Java

  1. Installer la bibliothèque Java pour convertir HTML en PDF
  2. Convertir la chaîne HTML en document PDF en utilisant la méthode renderHtmlAsPdf
  3. Générer des fichiers PDF à partir de l'URL d'un site web en Java
  4. Convertir des fichiers HTML en fichiers PDF avec la méthode renderHtmlFileAsPdf
  5. Enregistrer le PDF généré en tant que nouveau fichier

Démarrage

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

Première étape :
green arrow pointer


1. Installer la bibliothèque PDF IronPDF pour Java

Il existe deux manières d'incorporer la bibliothèque IronPDF dans un projet Java :

  1. Ajouter IronPDF en tant que dépendance dans un projet Java configuré avec Maven
  2. Télécharger le fichier JAR IronPDF et l'ajouter manuellement au classpath du projet.

La section suivante couvrira 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 dans la section de dépendance du fichier pom.xml du projet Java.

<dependencies>
    <!-- IronPDF Library -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>[LATEST_VERSION]</version>
    </dependency>

    <!-- SLF4J for logging (optional but recommended) -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>[LATEST_VERSION]</version>
    </dependency>
</dependencies>
<dependencies>
    <!-- IronPDF Library -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>[LATEST_VERSION]</version>
    </dependency>

    <!-- SLF4J for logging (optional but recommended) -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>[LATEST_VERSION]</version>
    </dependency>
</dependencies>
XML

Le premier artefact référence la dernière version de la bibliothèque IronPDF. Le second artefact référence une implémentation SLF4J. Cette dépendance est requise pour permettre au moteur de rendu d'IronPDF de générer des messages de journalisation pendant l'exécution. Software engineers can substitute this dependency for other logging providers (such as Logback and Log4J); ou l'omettre entièrement s'ils n'ont pas besoin ou ne souhaitent pas de journalisation.

Exécutez la commande mvn install dans un terminal à la racine du répertoire du projet Java pour télécharger les bibliothèques mentionnées précédemment.

Option 2 : Installer le JAR IronPDF Manuellement

Developers who prefer not to use Maven or any other dependency management system will need to download the IronPDF library JAR file (and the optional SLF4J implementation) and manually add it to their project's class path.

Télécharger le fichier JAR IronPDF directement depuis le téléchargement JAR IronPDF (ou depuis le Maven Repository).


2. Conversion de HTML en PDF

Cette section présente les capacités phares de rendu HTML en PDF d'IronPDF.

La classe PdfDocument est le point d'entrée pour toutes les fonctionnalités de rendu et de manipulation de documents PDF d'IronPDF. La classe inclut un ensemble de méthodes robustes pour convertir du HTML en documents PDF pour prendre en charge les trois cas d'utilisation suivants : conversion à partir d'une chaîne / balisage HTML, conversion à partir d'un fichier HTML et conversion à partir d'une URL. Cette section couvrira brièvement chacun de ces cas d'utilisation, avec des liens vers du contenu supplémentaire pour obtenir des informations supplémentaires.

2.1 Importer le Package IronPDF

Tous les composants de conversion et de traitement d'IronPDF sont contenus dans le package com.ironsoftware.ironpdf.

Incluez l'instruction d'import suivante en haut des fichiers source Java (où IronPDF sera utilisé) pour rendre ces composants accessibles par le code source de l'application.

// Import statement for IronPDF for Java
import com.ironsoftware.ironpdf.*;
// Import statement for IronPDF for Java
import com.ironsoftware.ironpdf.*;
JAVA

2.2. Définir la Clé de Licence (optionnel)

IronPDF pour Java est gratuit à utiliser. Cependant, pour les utilisateurs gratuits, il marquera les documents PDF avec un filigrane d'arrière-plan en mosaïque (comme montré dans l'image ci-dessous).

Image montrant le filigrane

Pour utiliser IronPDF afin de générer des PDF sans les filigranes, 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");
// Apply your license key
License.setLicenseKey("YOUR-LICENSE-KEY");
JAVA

La clé de licence doit être définie avant de générer des fichiers PDF ou de personnaliser le contenu des fichiers. Nous recommandons d'appeler la méthode setLicenseKey avant toutes les autres lignes de code.

Purchase a license key from the IronPDF licensing page, or contact us to obtenir une clé de licence d'essai gratuite.

2.3 Définir l'Emplacement du Fichier de Log (optionnel)

Par défaut (et en supposant qu'il y ait un fournisseur SLF4J installé), IronPDF génère des messages de journalisation 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"));
// Set a log path
Settings.setLogPath(Paths.get("IronPdfEngine.log"));
JAVA

Veuillez noterSettings.setLogPath doit être appelé avant d'utiliser toute méthode de conversion et de manipulation PDF.

2.4. Créer un PDF à partir d'une Chaine 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.

// Convert HTML string to PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the PDF document
pdf.saveAs("htmlstring_to_pdf.pdf");
// Convert HTML string to PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the PDF document
pdf.saveAs("htmlstring_to_pdf.pdf");
JAVA

Conversion d'une chaîne HTML en PDF

renderHtmlAsPdf traite tout le contenu HTML, CSS et JavaScript de la même manière que les navigateurs modernes conformes aux standards peuvent le faire. Cela aide les ingénieurs logiciels à créer des documents PDF qui ressemblent exactement à leur apparence dans un navigateur web.

La méthode renderHtmlAsPdf peut provenir d'images, de feuilles de style et de 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 :

// HTML string with external 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>";
// Convert HTML to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
// Save the PDF document
pdf.saveAs("output.pdf");
// HTML string with external 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>";
// Convert HTML to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html);
// Save the PDF document
pdf.saveAs("output.pdf");
JAVA

Résultat de conversion avec ressources externes

Un second argument (facultatif) à renderHtmlAsPdf permet aux développeurs de spécifier un chemin de base à partir duquel référencer les ressources Web. Ce chemin peut être vers un répertoire sur le système de fichiers local ou même un chemin URL.

Learn more about the renderHtmlAsPdf method from this code example on using HTML to create a PDF, or read about it in the API Reference page for PdfDocument class.

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 Wikipedia en contenu PDF.

// Convert a URL to PDF
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the PDF document
pdf.saveAs("url_to_pdf.pdf");
// Convert a URL to PDF
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the PDF document
pdf.saveAs("url_to_pdf.pdf");
JAVA

Résultat de conversion d'URL en PDF

En savoir plus sur la conversion de pages web en contenu PDF à partir de cet exemple de code sur la conversion d'une URL en PDF.

2.6. Créer un PDF à partir d'un Fichier HTML

IronPDF peut également rendre un document HTML stocké sur un système de fichiers local directement dans son format PDF équivalent.

Le prochain exemple de code utilise cette facture comme une démonstration du monde réel de l'efficacité 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>
HTML

Supposons que le fichier HTML ait été enregistré dans un dossier appelé "invoices" avec son fichier CSS et son fichier JavaScript. Nous pouvons utiliser IronPDF pour convertir le fichier HTML comme suit :

// Convert an HTML file to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the PDF document
pdf.saveAs("htmlfile_to_pdf.pdf");
// Convert an HTML file to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the PDF document
pdf.saveAs("htmlfile_to_pdf.pdf");
JAVA

Comme pour les exemples de conversion de chaîne HTML en PDF, IronPDF résout correctement toutes les URL relatives dans un document HTML vers leurs chemins corrects sur le système de fichiers. En conséquence, le fichier PDF que produit cet exemple est capable de capturer parfaitement les influences visuelles que toutes les feuilles de style et scripts référencés auraient normalement sur une page Web.

3. Lecture complémentaire

Nous n'avons fait qu'effleurer les capacités de rendu HTML en PDF d'IronPDF.

Approfondissez votre compréhension de l'utilisation du convertisseur HTML vers PDF pour le développement Java en utilisant les exemples de code sélectionnés présentés dans notre section Exemples de Code.

  1. Lisez cet exemple de code pour les paramètres de génération de PDF pour apprendre à personnaliser l'apparence d'un document PDF lors du processus de conversion.
  2. Generate PDF files with custom headers and footers, margin sizes, page dimensions, watermarks, and much more.
  3. Extract PDF content (text extraction from PDFs and image extraction from PDFs) from documents, optimize file sizes with PDF compression, and print PDFs programmatically with IronPrint capabilities.

Etudiez la page de référence API IronPDF pour Java sur la classe PdfDocument pour un contrôle encore plus grand sur le rendu HTML vers PDF.

Questions Fréquemment Posées

Comment puis-je convertir du contenu HTML en PDF en Java ?

Vous pouvez utiliser la méthode PdfDocument.renderHtmlAsPdf d'IronPDF pour convertir du contenu HTML en un document PDF. Cette méthode garantit que la mise en forme du HTML est préservée.

Est-il possible de convertir une URL de page web directement en PDF en Java ?

Oui, vous pouvez utiliser la méthode PdfDocument.renderUrlAsPdf d'IronPDF pour convertir directement une page web en ligne en un document PDF.

Comment puis-je convertir un fichier HTML local en PDF en utilisant Java ?

Avec IronPDF, vous pouvez utiliser la méthode PdfDocument.renderHtmlFileAsPdf pour convertir un fichier HTML stocké sur votre système local en un document PDF.

Puis-je supprimer les filigranes des PDF générés par les bibliothèques PDF Java ?

Pour supprimer les filigranes des PDF générés avec IronPDF, vous devez définir une clé de licence valide en utilisant la méthode License.setLicenseKey avant de créer le PDF.

Comment puis-je inclure des ressources externes comme le CSS lors de la conversion de HTML en PDF ?

IronPDF prend en charge l'inclusion de CSS externes et d'autres ressources lors de la conversion de HTML en PDF. Assurez-vous que les chemins vers ces ressources sont correctement référencés dans votre contenu HTML.

Quelles sont les étapes pour installer IronPDF pour Java en utilisant Maven ?

Pour installer IronPDF dans un projet Java en utilisant Maven, ajoutez la dépendance IronPDF au fichier pom.xml de votre projet et exécutez mvn install dans le répertoire racine du projet.

Y a-t-il une option pour enregistrer les processus de génération de PDF en Java ?

Oui, IronPDF prend en charge la journalisation via SLF4J. Si vous avez un fournisseur SLF4J installé, vous pouvez définir l'emplacement du fichier journal en utilisant la méthode Settings.setLogPath.

Puis-je personnaliser l'apparence des PDF générés à partir de HTML en Java ?

Oui, IronPDF vous permet de personnaliser les paramètres de génération de PDF, y compris les en-têtes, pieds de page et marges. Vous pouvez réaliser cela en utilisant les diverses options de personnalisation disponibles dans la bibliothèque.

Où puis-je trouver plus d'exemples d'utilisation d'IronPDF en Java ?

Vous pouvez trouver plus d'exemples et de documentation sur l'utilisation d'IronPDF pour Java sur le site web IronPDF dans la section Exemples de code et la page de référence de l'API Java.

IronPDF est-il entièrement compatible avec .NET 10 pour la conversion HTML vers PDF ?

Oui. IronPDF est entièrement compatible avec .NET 10 et fonctionne immédiatement sans configuration particulière. Vous pouvez utiliser ses méthodes de conversion HTML vers PDF, comme ChromePdfRenderer.RenderHtmlAsPdf , dans .NET 10 et profiter des améliorations apportées au framework, telles que des performances accrues et des API plus récentes.

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 : 2025.11 vient de sortir