HTML vers PDF en 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 PDF parfaits au pixel près(format de document portable) documents.

IronPDF est un convertisseur PDF complet et une bibliothèque de traitement des PDF. IronPDF est disponible à la fois pour.NET etJava les langages de programmation. Ce tutoriel couvre l'utilisation de la bibliothèque pour convertir du contenu HTML(fichiers, balisage, etc) dans les applications Java. Le tutoriel pour la conversion de HTML en PDF dans les applications .NET est disponible dans la sectionTutoriel HTML vers PDF .NET.


Vue d'ensemble


Pour commencer

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

Première étape :
green arrow pointer


1. Installation de la bibliothèque IronPDF PDF pour Java

Il y a deux façons d'incorporer leIronPDF Dans un projet Java :

  1. Ajouter IronPDF for Java comme dépendance dans un projet Java configuré par Maven

  2. 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.2.8</version>
</dependency>

Le premier artefact fait référence audernière version de la bibliothèque IronPDF. Le deuxième artefact fait référence à un SL4J la mise en œuvre. 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 Retour à la case départ et Log4J); 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 répertoire racine du projet Java pour télécharger les bibliothèques mentionnées précédemment.

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!!--inline-anchor_ironpdfjava-fatjar{télécharger le fichier JAR de la bibliothèque IronPDF}--!! (et l'option SL4J mise en œuvre) et l'ajouter manuellement au chemin de classe de leur projet.

Téléchargez le fichier JAR d'IronPDF directement à partir deIronPDF JAR télécharger (ou à partir du dépôt 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 fonctions de rendu et de manipulation de documents PDF d'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 paquet com.ironsoftware.ironpdf.

Inclure l'instruction d'importation suivante au début des fichiers source Java(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.*;
JAVA

2.2. Définir la clé de licence (facultatif)

L'utilisation d'IronPDF for Java est gratuite. Cependant, pour les utilisateurs gratuits, il marquera les documents PDF d'un filigrane en arrière-plan(comme le montre l'image ci-dessous).

Html To Pdf 23 related to 2.2. Définir la clé de licence (facultatif)

Obtenez une clé de licence sur ironpdf.com/java/licensing/ pour convertir et manipuler des documents PDF sans filigrane.

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");
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 vous recommandons d'appeler la méthode setLicenseKey avant toute autre ligne de code.

Achetez une clé de licence sur la page de licence d'IronPDFpour plus d'informations, contactez-nous à l'adresse suivanteobtenir 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 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"));
JAVA

Veuillez noter : Settings.setLogPath doit être appelé avant d'utiliser toute méthode de conversion et de manipulation de 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");
JAVA
Html To Pdf 5 related to 2.4. Création d'un PDF à partir d'une chaîne HTML

Convertir le balisage HTML en fichier PDF à l'aide de la fonction PdfDocument.renderHtmlAsPdf. Cette méthode permet de générer des documents PDF en utilisant toutes les balises HTML et CSS valides et conformes au W3C.

renderHtmlAsPdf traite tout le contenu HTML, CSS et JavaScript de la même manière que les navigateurs modernes et conformes aux normes. 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 générer 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 d'un code HTML qui fait référence à un fichier CSS et à une image située 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");
JAVA

Le résultat du code ci-dessus est illustré dans l'image ci-dessous.

Html To Pdf 24 related to 2.4. Création d'un PDF à partir d'une chaîne HTML

PdfDocument.renderHtmlAsPdf peut rendre toutes sortes d'éléments rich media. S'il s'affiche dans Chrome, alors renderHtmlAsPdf le rendra !

Un deuxième(facultatif) à renderHtmlAsPdf permet aux développeurs de spécifier un chemin de base à partir duquel référencer les actifs web. Ce chemin peut être un répertoire du système de fichiers local ou même un chemin URL.

Pour en savoir plus sur la méthode renderHtmlAsPdf, voircet exemple de code sur l'utilisation de HTML pour créer un PDFou en lire le contenu dans lePage de référence de l'API pour la classe PdfDocument.

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");
JAVA

Le format du fichier PDF généré est indiqué ci-dessous.

Html To Pdf 7 related to 2.5. Créer un PDF à partir d'une URL

La bibliothèque Java IronPDF permet de convertir le contenu HTML des pages web hébergées en ligne. L'utilisation de la bibliothèque java PdfDocument.renderUrlAsPdf pour y parvenir.

En savoir plus sur la conversion de pages web en contenu PDF à partir decet exemple de code sur la conversion d'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 en tant que démonstration du monde réel 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>
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");
JAVA

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 vers PDF pour le développement Java à l'aide des exemples de code présentés dans notre sectionExemples de codes section.

  1. Lirecet exemple de code pour les paramètres de génération de PDF pour apprendre à personnaliser l'apparence d'un document PDF au cours du processus de conversion.

  2. Générer des fichiers PDF avecen-têtes et pieds de page personnalisés, taille des marges, dimensions des pages, filigraneset bien d'autres choses encore.

  3. Extraire le contenu du PDF(extraction de texte à partir de PDF etextraction d'images à partir de PDF) à partir de documents,optimiser la taille des fichiers grâce à la compression PDFetimprimer des PDF de manière programmatique grâce aux fonctionnalités d'IronPrint.

    Étudier lePage de référence de l'API IronPDF for Java la classe PdfDocument permet un contrôle encore plus grand sur le rendu HTML en PDF.

Regarder la vidéo du tutoriel HTML vers PDF


Tutoriel Accès rapide

Cps Intellij related to 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écharger

Explorer 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 PDF
Github Icon related to Tutoriel Accès rapide
Documentation related to Tutoriel Accès rapide

Voir 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