HTML vers PDF en Java
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.
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");
Commencez à utiliser IronPDF dans votre projet aujourd'hui avec un essai gratuit.
Table des matières
- Comment installer IronPDF dans un projet Java ?
- Comment convertir une chaîne HTML en PDF en Java ?
- Comment charger des ressources locales dans une chaîne HTML ?
- Comment convertir une URL en PDF en Java ?
- Comment convertir un fichier HTML en PDF en Java ?
- Comment personnaliser les paramètres de sortie du PDF ?
- Comment ajouter des en-têtes et des pieds de page à un PDF ?
- Comment définir des marges personnalisées et la taille de la page ?
- Comment ajouter un filigrane à un PDF ?
- Comment extraire le texte d'un PDF en Java ?
- Comment extraire des images d'un PDF en Java ?
- Comment compresser un fichier PDF ?
- Comment imprimer un PDF de manière programmatique ?
- Prochaines étapes
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>
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.
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.*;
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");
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"));
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");
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");
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.
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");
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");
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.
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");
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");
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.
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");
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");
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);
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).");
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");
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.
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);
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 :
- Parcourez l'ensemble complet d'exemples de code HTML to PDF Java pour des scénarios de rendu supplémentaires non couverts ici.
- Lisez la documentation IronPDF for Java pour comprendre le déploiement, la sécurité de thread, et la configuration du serveur.
- 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
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échargerExplorez 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 GitHubVoir 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 APIQuestions 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.





