HTML vers PDF en Java

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

IronPDF for Java convertit le contenu HTML en documents PDF pixel-perfect utilisant le même moteur de rendu que celui trouvé dans les navigateurs modernes. Les applications Java peuvent générer des PDF à partir de chaînes HTML, de fichiers HTML locaux ou de pages web en direct, sans nécessiter de logiciel de rendu supplémentaire ou d'environnement GUI.

Ce tutoriel couvre les trois méthodes de conversion de HTML en PDF disponibles dans IronPDF for Java, ainsi que les options d'installation, de licence et de configuration. Les développeurs utilisant déjà IronPDF for .NET trouveront l'API Java familière ; le tutoriel équivalent .NET est disponible sur le HTML to PDF for .NET Tutorial.

Veuillez noter IronPDF for Java nécessite Java 8 ou plus et est compatible avec tous les principaux frameworks basés sur JVM, y compris Spring Boot, Java EE et Micronaut.

Démarrage rapide : Générer un PDF à partir de HTML

L'exemple suivant crée un PDF d'une page à partir d'une chaîne HTML et le sauvegarde sur disque. Après avoir installé la bibliothèque via Maven (Étape 1), voici tout le code nécessaire :

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/quickstart-html-string.java
import com.ironsoftware.ironpdf.*;

// Apply your license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");

// Render an HTML string to a PDF file
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Java.</p>");
pdf.saveAs("output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/quickstart-html-string.java
import com.ironsoftware.ironpdf.*;

// Apply your license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");

// Render an HTML string to a PDF file
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1><p>Generated in Java.</p>");
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 installer IronPDF dans un projet Java ?

IronPDF for Java est disponible sur le référentiel Maven Central. La méthode d'installation recommandée est Maven, bien que l'installation JAR manuelle soit également prise en charge pour les projets qui n'utilisent pas de système de construction.

Installer comme dépendance Maven

Ajoutez les artefacts suivants à la section dependencies du fichier pom.xml de votre projet :

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-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/generate-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

Le premier artefact intègre IronPDF. The second is an SLF4J logging implementation. IronPDF utilise SLF4J pour émettre des messages de diagnostic lors du rendu ; you can substitute it with Logback or Log4j 2, or omit logging entirely.

Exécutez mvn install à la racine du projet pour télécharger les dépendances. Vérifiez la dernière version d'IronPDF avant d'épingler un numéro de version, car le journal des modifications liste toutes les versions actuelles et passées.

Installer le JAR manuellement

Les développeurs n'utilisant pas Maven peuvent télécharger le JAR goutteux IronPDF directement depuis Maven Central et l'ajouter au classpath du projet. Le JAR goutteux regroupe toutes les dépendances transitives.

ConseilsMaven est l'approche recommandée pour les nouveaux projets. L'installation JAR nécessite une gestion manuelle des dépendances et peut entraîner des conflits de version dans des projets plus importants.

Importer le Package IronPDF

Toutes les classes de rendu et de manipulation de PDF se trouvent dans le package com.ironsoftware.ironpdf. Ajoutez cette instruction d'importation à tout fichier source Java qui utilise IronPDF :

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/import-package.java
import com.ironsoftware.ironpdf.*;
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/import-package.java
import com.ironsoftware.ironpdf.*;
JAVA

Définir la Clé de Licence

Sans clé de licence, IronPDF rend les PDF avec un filigrane carrelé sur chaque page. Pour supprimer le filigrane, transmettez une clé de licence valide à License.setLicenseKey avant d'appeler toute méthode de rendu :

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-license-key.java
import com.ironsoftware.ironpdf.*;

// Set the license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-license-key.java
import com.ironsoftware.ironpdf.*;

// Set the license key before any rendering call
License.setLicenseKey("YOUR-LICENSE-KEY");
JAVA

Placez cet appel au démarrage de l'application, avant que toute logique de génération de PDF ne soit exécutée. Commencez un essai gratuit pour obtenir une clé d'essai, ou consultez les options de licence pour une utilisation en production.

Configurer le chemin du fichier journal

IronPDF écrit les diagnostics de rendu dans un fichier journal nommé IronPdfEngine.log dans le répertoire de travail de l'application. Appelez Settings.setLogPath pour modifier le nom ou l'emplacement du fichier :

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-log-path.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;

// Configure logging before calling any rendering methods
Settings.setLogPath(Paths.get("logs/ironpdf.log"));
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/set-log-path.java
import com.ironsoftware.ironpdf.*;
import java.nio.file.Paths;

// Configure logging before calling any rendering methods
Settings.setLogPath(Paths.get("logs/ironpdf.log"));
JAVA

ImportantAppelez Settings.setLogPath avant toute méthode de conversion ou de manipulation de PDF. Les appels effectués après le début du rendu n'auront aucun effet.

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

PdfDocument.renderHtmlAsPdf convertit une chaîne HTML en un objet PdfDocument, qui peut ensuite être enregistré sur le disque ou transmis à d'autres méthodes de traitement. Cette méthode accepte tout code HTML conforme aux normes W3C, y compris le balisage de pages complètes avec les éléments <head> et <body>.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-to-pdf.java
import com.ironsoftware.ironpdf.*;

// Convert a simple HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting PDF to a file
pdf.saveAs("htmlstring_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-to-pdf.java
import com.ironsoftware.ironpdf.*;

// Convert a simple HTML string to PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting PDF to a file
pdf.saveAs("htmlstring_to_pdf.pdf");
JAVA
PDF output showing a rendered H1 heading generated from an HTML string using PdfDocument.renderHtmlAsPdf

La méthode PdfDocument.renderHtmlAsPdf rend le balisage HTML en un PDF, préservant tout le style et la structure conformes au W3C.

La méthode renvoie une instance PdfDocument. Appelez saveAs pour écrire le PDF sur le disque, ou utilisez getBinaryData pour récupérer les octets bruts du PDF en vue d'une diffusion en continu ou d'un stockage.

renderHtmlAsPdf traite tout le contenu HTML, CSS et JavaScript de la même manière qu'un navigateur conforme aux normes. Le PDF résultant reflète exactement ce à quoi ressemblerait la page lorsqu'elle est vue dans Chrome.

Pour plus de détails sur cette méthode, consultez l'exemple de code de chaîne HTML à PDF sur la page des exemples Java IronPDF.

Comment charger des ressources locales dans une chaîne HTML ?

HTML fait souvent référence à des ressources externes (feuilles de style, images, scripts) par chemin relatif. renderHtmlAsPdf accepte un deuxième argument facultatif qui définit le chemin de base pour la résolution de ces références. Le chemin de base peut pointer vers un répertoire local ou une URL.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-local-assets.java
import com.ironsoftware.ironpdf.*;

// HTML with references to local stylesheets and images
String html = "<html>"
    + "<head>"
    +   "<title>Invoice</title>"
    +   "<link rel='stylesheet' type='text/css' href='style.css'>"
    + "</head>"
    + "<body>"
    +   "<div class='content'>"
    +     "<h1>Invoice #1001</h1>"
    +     "<img src='logo.png' alt='Company Logo'/>"
    +   "</div>"
    + "</body>"
    + "</html>";

// The second argument resolves relative asset paths
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-string-local-assets.java
import com.ironsoftware.ironpdf.*;

// HTML with references to local stylesheets and images
String html = "<html>"
    + "<head>"
    +   "<title>Invoice</title>"
    +   "<link rel='stylesheet' type='text/css' href='style.css'>"
    + "</head>"
    + "<body>"
    +   "<div class='content'>"
    +     "<h1>Invoice #1001</h1>"
    +     "<img src='logo.png' alt='Company Logo'/>"
    +   "</div>"
    + "</body>"
    + "</html>";

// The second argument resolves relative asset paths
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice.pdf");
JAVA
PDF output displaying an invoice with styled layout, logo image, and CSS formatting applied from local assets

Lorsqu'un chemin de base est fourni, renderHtmlAsPdf résout les références d'actifs relatifs depuis ce répertoire, produisant un PDF entièrement stylisé.

L'argument du chemin de base fonctionne avec des chemins du système de fichiers absolus et des chaînes d'URL. Cela rend renderHtmlAsPdf adapté à la génération de PDF à partir de modèles stockés sur disque ou hébergés sur un serveur web.

ConseilsLes chemins d'accès utilisant des barres obliques inversées de style Windows (C:\invoices\) doivent être convertis en barres obliques ou utiliser Paths.get() pour assurer la compatibilité multiplateforme.

Comment convertir une URL en PDF en Java ?

PdfDocument.renderUrlAsPdf récupère une page web en direct à l'URL spécifiée et la convertit en PDF. La méthode charge la page complète, y compris tout le CSS, JavaScript et les images externes, avant le rendu.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/url-to-pdf.java
import com.ironsoftware.ironpdf.*;

// Render a live web page as a PDF document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("url_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/url-to-pdf.java
import com.ironsoftware.ironpdf.*;

// Render a live web page as a PDF document
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.saveAs("url_to_pdf.pdf");
JAVA
PDF output of the Wikipedia article on PDF format, showing the page layout and content rendered by PdfDocument.renderUrlAsPdf

La méthode PdfDocument.renderUrlAsPdf capture l'état rendu complet d'une page web, y compris le contenu rendu par JavaScript.

renderUrlAsPdf attend que l'exécution JavaScript soit terminée avant de capturer la page affichée, ce qui signifie que le contenu généré dynamiquement (tel que les graphiques ou les données chargées via AJAX) apparaîtra dans le PDF de sortie.

Pour l'implémentation équivalente en .NET ou des options URL vers PDF supplémentaires, consultez l'exemple de code de conversion d'une URL en PDF.

Comment convertir un fichier HTML en PDF en Java ?

PdfDocument.renderHtmlFileAsPdf lit un fichier HTML local et le convertit en PDF. Tous les chemins relatifs référencés dans le fichier HTML (feuilles de style, images, scripts) sont résolus par rapport au répertoire du fichier HTML.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-file-to-pdf.java
import com.ironsoftware.ironpdf.*;

// Convert a local HTML file to PDF
// IronPDF resolves relative asset paths from the HTML file's directory
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/html-file-to-pdf.java
import com.ironsoftware.ironpdf.*;

// Convert a local HTML file to PDF
// IronPDF resolves relative asset paths from the HTML file's directory
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
pdf.saveAs("htmlfile_to_pdf.pdf");
JAVA

Cette approche fonctionne bien pour la génération de documents à partir de modèles : modèles de factures, rapports ou certificats stockés sous forme de fichiers HTML avec leurs actifs CSS et images associés. IronPDF rend le fichier avec la même précision qu'un navigateur, en préservant toutes les règles de mise en page CSS.

Veuillez noterLe chemin du fichier HTML doit être absolu. Les chemins relatifs transmis à renderHtmlFileAsPdf sont résolus à partir du répertoire de travail de la JVM, ce qui peut produire des résultats inattendus dans les environnements serveur.

Comment personnaliser les paramètres de sortie PDF ?

La classe PdfRenderOptions contrôle la mise en page et le comportement de rendu. Créez une instance PdfRenderOptions, configurez les propriétés requises et transmettez-la à l'une des méthodes de rendu.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/render-options.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;

// Configure rendering options before generating the PDF
PdfRenderOptions options = new PdfRenderOptions();
// Set the zoom level (100 = normal size)
options.setZoom(100);
// Wait for JavaScript to finish before rendering
options.setJavaScriptTimeout(5000);
// Enable printing of background colors and images
options.setPrintBackground(true);

PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Customized PDF</h1>",
    options
);
pdf.saveAs("customized.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/render-options.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;

// Configure rendering options before generating the PDF
PdfRenderOptions options = new PdfRenderOptions();
// Set the zoom level (100 = normal size)
options.setZoom(100);
// Wait for JavaScript to finish before rendering
options.setJavaScriptTimeout(5000);
// Enable printing of background colors and images
options.setPrintBackground(true);

PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
    "<h1>Customized PDF</h1>",
    options
);
pdf.saveAs("customized.pdf");
JAVA

La classe PdfRenderOptions fournit des propriétés supplémentaires permettant de contrôler la résolution (DPI), la largeur de la fenêtre d'affichage, l'orientation du papier et les valeurs de délai d'expiration. Voir l'exemple de code PDF generation settings pour une liste complète des options disponibles.

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

IronPDF prend en charge les en-têtes et pieds de page basés sur le texte ainsi que ceux basés sur HTML. Les en-têtes texte utilisent des champs de fusion pré-définis pour des valeurs courantes comme les numéros de page et les titres de document ; Les en-têtes HTML acceptent des balises HTML arbitraires pour des mises en page entièrement personnalisées.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/headers-footers.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Annual Report</h1><p>Content goes here.</p>");

// Create a text-based header using merge fields
TextHeaderFooter header = new TextHeaderFooter();
header.setCenterText("Annual Report");
header.setRightText("{page} of {total-pages}");
header.setFont(com.ironsoftware.ironpdf.font.FontTypes.Helvetica);
header.setFontSize(10.0);

// Create a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setRightText("Generated by IronPDF");

pdf.addTextHeaders(header);
pdf.addTextFooters(footer);

pdf.saveAs("report_with_headers.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/headers-footers.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Annual Report</h1><p>Content goes here.</p>");

// Create a text-based header using merge fields
TextHeaderFooter header = new TextHeaderFooter();
header.setCenterText("Annual Report");
header.setRightText("{page} of {total-pages}");
header.setFont(com.ironsoftware.ironpdf.font.FontTypes.Helvetica);
header.setFontSize(10.0);

// Create a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setRightText("Generated by IronPDF");

pdf.addTextHeaders(header);
pdf.addTextFooters(footer);

pdf.saveAs("report_with_headers.pdf");
JAVA

Les champs de fusion {page} et {total-pages} sont remplacés au moment du rendu par le numéro de page actuel et le nombre total de pages. Pour les mises en page plus avancées, telles qu'un pied de page avec le logo de l'entreprise, utilisez HtmlHeaderFooter à la place de TextHeaderFooter.

Pour plus de détails sur les en-têtes et pieds de page basés sur HTML, consultez l'exemple de code ajouter des en-têtes et pieds de page.

ConseilsLes en-têtes et pieds de page sont rendus à l'intérieur des marges de page. Augmentez la marge supérieure ou inférieure avant d'appliquer des en-têtes ou pieds de page pour éviter le chevauchement avec le contenu de la page.

Comment définir des marges personnalisées et la taille de la page ?

La taille de la page et les marges sont configurées sur l'objet PdfRenderOptions avant le rendu du PDF. IronPDF prend en charge les tailles de papier standard (A4, Lettre, Légal) et les dimensions entièrement personnalisées.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/margins-page-size.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
import com.ironsoftware.ironpdf.page.*;

PdfRenderOptions options = new PdfRenderOptions();
// Set margins in millimeters: top, right, bottom, left
options.setMarginTop(25);
options.setMarginRight(20);
options.setMarginBottom(25);
options.setMarginLeft(20);
// Use A4 paper size
options.setPaperSize(PaperSize.A4);

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted Document</h1>", options);
pdf.saveAs("formatted_document.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/margins-page-size.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
import com.ironsoftware.ironpdf.page.*;

PdfRenderOptions options = new PdfRenderOptions();
// Set margins in millimeters: top, right, bottom, left
options.setMarginTop(25);
options.setMarginRight(20);
options.setMarginBottom(25);
options.setMarginLeft(20);
// Use A4 paper size
options.setPaperSize(PaperSize.A4);

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Formatted Document</h1>", options);
pdf.saveAs("formatted_document.pdf");
JAVA

Pour une liste complète des tailles et unités de papier prises en charge, référez-vous à l'exemple de code custom paper size et à l'exemple de code custom margins.

Comment ajouter un filigrane à un PDF ?

PdfDocument.applyWatermark applique un filigrane sous forme de texte ou d'image à chaque page du document. Par défaut, le filigrane s'affiche sur un calque distinct sous le contenu de la page, ou au-dessus de celui-ci lorsque l'indicateur isStampBehind est défini sur false.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/add-watermark.java
import com.ironsoftware.ironpdf.*;

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Document</h1>");

// Apply an HTML watermark; supports full CSS styling
String watermarkHtml = "<h1 style='color: rgba(200, 0, 0, 0.2); transform: rotate(-45deg); font-size: 60px;'>DRAFT</h1>";
// Second argument: opacity (0-100), third: rotation (degrees), fourth: stamp behind content
pdf.applyWatermark(watermarkHtml, 50, 45, true);

pdf.saveAs("draft_watermarked.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/add-watermark.java
import com.ironsoftware.ironpdf.*;

PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Document</h1>");

// Apply an HTML watermark; supports full CSS styling
String watermarkHtml = "<h1 style='color: rgba(200, 0, 0, 0.2); transform: rotate(-45deg); font-size: 60px;'>DRAFT</h1>";
// Second argument: opacity (0-100), third: rotation (degrees), fourth: stamp behind content
pdf.applyWatermark(watermarkHtml, 50, 45, true);

pdf.saveAs("draft_watermarked.pdf");
JAVA

L'approche HTML offre un contrôle précis sur le style du filigrane, y compris la police, la taille, la couleur et la transparence. Pour des configurations de filigrane avancées telles que des motifs de tuiles répétées ou des tampons basés sur des images, consultez le guide watermark how-to.

Comment extraire du texte d'un PDF en Java ?

PdfDocument.extractAllText lit le contenu textuel intégré dans un PDF et le renvoie sous la forme d'un seul String. Cette méthode extrait le texte sélectionnable de toutes les pages du document.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-text.java
import com.ironsoftware.ironpdf.*;

// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("report.pdf"));

// Extract all embedded text from the document
String text = pdf.extractAllText();
System.out.println(text);
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-text.java
import com.ironsoftware.ironpdf.*;

// Load an existing PDF from disk
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("report.pdf"));

// Extract all embedded text from the document
String text = pdf.extractAllText();
System.out.println(text);
JAVA

L'extraction de texte fonctionne sur les PDFs où le texte est stocké sous forme de glyphes sélectionnables. Pour les PDFs qui sont des numérisations basées sur des images, envisagez d'associer IronPDF à une bibliothèque OCR pour extraire le texte des images de page rendues.

Voir l'exemple de code extract text from PDF pour des options supplémentaires, y compris l'extraction de texte par page.

Comment extraire des images d'un PDF en Java ?

PdfDocument.extractAllImages renvoie une liste d'objets BufferedImage, un pour chaque image intégrée au PDF. Les images retournées peuvent être enregistrées directement sur disque ou passées à une logique de traitement d'image en aval.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-images.java
import com.ironsoftware.ironpdf.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;

// Load an existing PDF
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));

// Extract all embedded images
List<BufferedImage> images = pdf.extractAllImages();
for (int i = 0; i < images.size(); i++) {
    ImageIO.write(images.get(i), "PNG", new File("extracted_image_" + i + ".png"));
}
System.out.println("Extracted " + images.size() + " image(s).");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/extract-images.java
import com.ironsoftware.ironpdf.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.List;
import javax.imageio.ImageIO;

// Load an existing PDF
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));

// Extract all embedded images
List<BufferedImage> images = pdf.extractAllImages();
for (int i = 0; i < images.size(); i++) {
    ImageIO.write(images.get(i), "PNG", new File("extracted_image_" + i + ".png"));
}
System.out.println("Extracted " + images.size() + " image(s).");
JAVA

Pour plus d'options d'extraction, y compris l'extraction d'images de pages spécifiques, consultez l'exemple de code extract image from PDF.

Comment compresser un fichier PDF ?

PdfDocument.compressImages réduit la taille des fichiers PDF en réencodant les images intégrées avec une qualité inférieure. La méthode accepte une valeur de qualité de 1 (qualité minimum, fichier le plus petit) à 100 (qualité maximum).

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/compress-pdf.java
import com.ironsoftware.ironpdf.*;

// Load a large PDF with embedded images
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("large_report.pdf"));

// Compress images to 60% quality to reduce file size
pdf.compressImages(60);

pdf.saveAs("large_report_compressed.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/compress-pdf.java
import com.ironsoftware.ironpdf.*;

// Load a large PDF with embedded images
PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("large_report.pdf"));

// Compress images to 60% quality to reduce file size
pdf.compressImages(60);

pdf.saveAs("large_report_compressed.pdf");
JAVA

La compression d'image est le moyen le plus efficace de réduire la taille des PDFs contenant des photographies ou des graphiques haute résolution. Pour des stratégies supplémentaires de réduction de la taille des fichiers, telles que le retrait des polices intégrées, voir l'exemple de code PDF compression.

ConseilsUne valeur de qualité comprise entre 40 et 70 offre généralement un bon équilibre entre la réduction de la taille du fichier et la fidélité visuelle pour la plupart des cas d'utilisation de PDF.

Comment imprimer un PDF par programmation ?

PdfDocument.print envoie un PDF vers l'imprimante par défaut du système à l'aide de l'API d'impression Java standard. La méthode accepte un booléen qui contrôle l'affichage d'une boîte de dialogue d'impression.

//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/print-pdf.java
import com.ironsoftware.ironpdf.*;

PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));

// Print silently to the default printer (no dialog shown)
pdf.print(false);
//:path=/static-assets/pdf/content-code-examples/tutorials/generate-pdfs/print-pdf.java
import com.ironsoftware.ironpdf.*;

PdfDocument pdf = PdfDocument.fromFile(java.nio.file.Paths.get("document.pdf"));

// Print silently to the default printer (no dialog shown)
pdf.print(false);
JAVA

Passez true à la méthode print pour afficher la boîte de dialogue d'impression du système, permettant aux utilisateurs de sélectionner une imprimante et de configurer les paramètres d'impression avant l'envoi de la tâche.

Prochaines étapes

Ce tutoriel a couvert les méthodes principales de conversion de HTML en PDF dans IronPDF for Java, ainsi que l'installation, la configuration, et les opérations courantes de traitement de documents.

Pour aller plus loin :

  1. Parcourez l'ensemble complet d'exemples de code HTML to PDF Java pour des scénarios de rendu supplémentaires non couverts ici.
  2. Lisez la documentation IronPDF for Java pour comprendre le déploiement, la sécurité de thread, et la configuration du serveur.
  3. Explorez la IronPDF Java API reference complète pour des signatures de méthodes détaillées et descriptions de paramètres.

Commencez un essai gratuit pour générer des PDFs sans filigranes, ou consultez les options de licence pour trouver le bon plan pour votre projet.


Accès rapide au tutoriel

Logo IntelliJ IDEA IDE pour le développement Java

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

Le code source complet HTML to PDF Java de ce tutoriel est disponible au téléchargement sous forme de projet IntelliJ zippé.

Télécharger

Explorez ce tutoriel sur GitHub

Le code source de ce projet est disponible sur GitHub sous forme de projet IntelliJ IDEA. Il peut être importé dans d'autres IDE Java populaires, notamment Eclipse et NetBeans.

HTML to PDF Java sur GitHub
Logo GitHub pour le référentiel de code source
Icône de documentation de référence de l'API IronPDF Java

Voir la référence API

Explorez la référence de l'API IronPDF Java, couvrant tous les espaces de noms, classes, méthodes, et énumérations disponibles dans la bibliothèque.

Voir la référence API

Questions Fréquemment Posées

À quoi sert IronPDF for Java ?

IronPDF for Java convertit le contenu HTML en documents PDF dans des applications Java. Il prend en charge la conversion des chaînes HTML, des fichiers HTML locaux, et des URLs de pages web en direct, et fournit également des outils pour ajouter des en-têtes et pieds de page, des filigranes, l'extraction de texte, l'extraction d'images, et la compression de fichiers.

Comment installer IronPDF dans un projet Java ?

Ajoutez deux dépendances Maven à votre pom.xml : com.ironsoftware:ironpdf et org.slf4j:slf4j-simple, puis exécutez mvn install. Alternativement, téléchargez le fichier fat JAR à partir de Maven Central et ajoutez-le au classpath du projet.

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

Appelez PdfDocument.renderHtmlAsPdf(htmlString) avec votre balisage HTML. La méthode renvoie un objet PdfDocument. Appelez pdf.saveAs("output.pdf") pour l'écrire sur le disque.

Comment convertir une URL en PDF en Java?

Appelez PdfDocument.renderUrlAsPdf("https://example.com"). IronPDF récupère la page, attend que JavaScript s'exécute, puis rend la page entièrement chargée en PDF.

Comment convertir un fichier HTML local en PDF en Java?

Appelez PdfDocument.renderHtmlFileAsPdf("C:/path/to/file.html"). Utilisez un chemin de fichier absolu. IronPDF résout automatiquement les références CSS et image relatives du répertoire du fichier HTML.

IronPDF for Java ajoute-t-il un filigrane aux PDF générés?

Sans clé de licence, IronPDF ajoute un filigrane en mosaïque à tous les PDF générés. Définissez une clé de licence valide avec License.setLicenseKey("YOUR-KEY") avant tout appel de rendu pour supprimer le filigrane.

Quelle version de Java nécessite IronPDF ?

IronPDF for Java nécessite Java 8 ou plus récent. Il est compatible avec Spring Boot, Java EE, Micronaut, et d'autres frameworks basés sur la JVM.

Comment ajouter des numéros de page à un PDF en Java avec IronPDF?

Créez une instance TextHeaderFooter et appelez setRightText("{page} of {total-pages}"). Passez l'objet à pdf.addTextFooters(footer). Les champs de fusion sont remplacés au moment du rendu par les numéros de page réels.

IronPDF for Java peut-il extraire du texte d'un PDF?

Oui. Chargez un PDF avec PdfDocument.fromFile(Paths.get("file.pdf")), puis appelez pdf.extractAllText() pour récupérer tout le contenu texte sélectionnable en tant que chaîne.

Comment réduire la taille de fichier d'un PDF en Java?

Appelez pdf.compressImages(quality) où quality est un entier de 1 à 100. Une valeur de 60 offre un bon équilibre entre la taille du fichier et la fidélité des images pour la plupart des PDF.

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.