HTML vers PDF en Java
IronPDF for Java donne aux développeurs un chemin direct du contenu HTML à la sortie PDF sans besoin d'apprendre une API de mise en page séparée. La bibliothèque rend le HTML, le CSS et le JavaScript de la même manière qu'un navigateur moderne le fait, de sorte que la sortie PDF correspond à ce que vous voyez à l'écran. Ce tutoriel couvre l'installation, les trois méthodes principales de conversion HTML-vers-PDF et les options de formatage, y compris les en-têtes, les pieds de page, les dimensions de page et les marges personnalisées.
Le tutoriel utilise IronPDF for Java. Un guide parallèle couvrant la version .NET est disponible sur le tutoriel de conversion HTML vers PDF for .NET. IronPDF est également disponible pour Python et Node.js.
Démarrage rapide : Convertir HTML en fichier PDF
Le chemin le plus court vers un PDF à partir d'une chaîne HTML est de trois lignes de code Java :
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/quickstart.java
import com.ironsoftware.ironpdf.*;
// Convert an HTML string directly to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save to disk
pdf.saveAs("output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/quickstart.java
import com.ironsoftware.ironpdf.*;
// Convert an HTML string directly to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save to disk
pdf.saveAs("output.pdf");
Commencez à utiliser IronPDF dans votre projet aujourd'hui avec un essai gratuit.
Table des matières
- Installation
- Conversion HTML en PDF
- Options de formatage PDF
- Prochaines étapes
Comment ajouter IronPDF à un projet Maven en Java ?
L'ajout d'IronPDF à un projet Maven nécessite deux entrées dans le bloc de dépendances pom.xml du projet. La première récupère la bibliothèque IronPDF ; la seconde ajoute un fournisseur de journalisation SLF4J pour qu'IronPDF puisse écrire des messages du moteur pendant l'exécution.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-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/format-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>
L'artefact ironpdf fait référence à la dernière version d'IronPDF for Java et à son journal des modifications. La dépendance slf4j-simple fournit un backend de journalisation de base. You can substitute it with Logback or Log4J as needed, or omit it entirely to suppress log output.
Après avoir ajouté les deux entrées, exécutez mvn install depuis la racine du projet pour télécharger les artefacts. Maven resolves the dependency against Maven Central.
com.ironsoftware:ironpdf afin de vérifier le numéro de la dernière version avant de l'ajouter à votre fichier pom.xml.Comment installer manuellement le JAR IronPDF en Java ?
Les projets qui n'utilisent pas Maven ou un autre gestionnaire de dépendances peuvent ajouter IronPDF en téléchargeant directement le JAR et en l'incluant dans le classpath. Accédez à la page de téléchargement d'IronPDF for Java et téléchargez le fichier JAR -fat.
Le JAR-fort regroupe toutes les dépendances, donc aucune entrée supplémentaire de classpath n'est requise au-delà de l'artefact principal. Optionally download an SLF4J implementation JAR to enable logging.
Ajoutez les deux fichiers JAR au classpath du projet à l'aide du panneau de gestion des bibliothèques de votre IDE, ou spécifiez les entrées -classpath lors de la compilation et de l'exécution depuis le terminal.
Comment importer IronPDF dans mes fichiers source Java ?
Le package com.ironsoftware.ironpdf contient tous les composants de conversion et de traitement. Placez l'instruction d'importation suivante en haut de chaque fichier Java qui appelle les méthodes IronPDF.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/import-statement.java
// Import all IronPDF components
import com.ironsoftware.ironpdf.*;
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/import-statement.java
// Import all IronPDF components
import com.ironsoftware.ironpdf.*;
Une importation ciblée qui nomme des classes spécifiques est également valable : import com.ironsoftware.ironpdf.PdfDocument;. L'importation par wildcard est pratique pendant l'exploration.
Comment définir une clé de licence dans IronPDF for Java ?
IronPDF for Java est gratuit à utiliser sans clé de licence, mais il applique un filigrane en mosaïque à tous les documents PDF générés ou modifiés. Pour supprimer le filigrane, fournissez une clé de licence valide avant d'appeler une méthode de conversion ou de manipulation.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-license-key.java
// Set the license key before any PDF operations
License.setLicenseKey("YOUR-LICENSE-KEY");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-license-key.java
// Set the license key before any PDF operations
License.setLicenseKey("YOUR-LICENSE-KEY");
Placez l'appel setLicenseKey au démarrage de l'application, avant que toute méthode PdfDocument ne soit appelée. Achetez une clé de licence ou commencez un essai gratuit pour générer des PDFs sans filigranes.
Définition de l'emplacement du fichier de journal (facultatif)
Par défaut, IronPDF enregistre les messages du moteur dans un fichier nommé IronPdfEngine.log situé dans le répertoire racine de l'application. Pour modifier le chemin d'accès au fichier journal, appelez Settings.setLogPath avant d'effectuer toute opération sur le PDF.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-log-path.java
import java.nio.file.Paths;
// Redirect log output before using IronPDF
Settings.setLogPath(Paths.get("logs/ironpdf-engine.log"));
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/set-log-path.java
import java.nio.file.Paths;
// Redirect log output before using IronPDF
Settings.setLogPath(Paths.get("logs/ironpdf-engine.log"));
setLogPath doit précéder tous les appels PdfDocument. L'appeler après qu'une conversion a commencé n'a aucun effet sur cette session.Comment convertir une chaîne HTML en PDF en Java ?
PdfDocument.renderHtmlAsPdf(String html) convertit tout balisage HTML valide en document PDF. La méthode accepte une chaîne HTML brute et renvoie un objet PdfDocument qui peut être économisé, fusionné ou modifié ultérieurement.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-to-pdf.java
// Convert a minimal HTML string to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting document to disk
pdf.saveAs("html-string-output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-to-pdf.java
// Convert a minimal HTML string to a PDF document
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Hello from IronPDF!</h1>");
// Save the resulting document to disk
pdf.saveAs("html-string-output.pdf");
Le moteur de rendu est basé sur Chromium, donc tout HTML, CSS ou JavaScript qui fonctionne dans Chrome se rendra correctement dans le PDF. Cela inclut les mises en page Flexbox, CSS Grid, les polices Web, SVGs, et les graphiques pilotés par JavaScript.
Une version surchargée de la méthode accepte un deuxième argument pour un chemin de base : renderHtmlAsPdf(String html, String basePath). Ce chemin de base est utilisé pour résoudre les références relatives aux feuilles de style locales, images, et scripts.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-with-assets.java
// HTML referencing local stylesheet and image
String html = "<html><head><link rel='stylesheet' href='style.css'></head>"
+ "<body><img src='logo.png'/><h1>Invoice</h1></body></html>";
// Provide the folder containing style.css and logo.png as the base path
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice-output.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-string-with-assets.java
// HTML referencing local stylesheet and image
String html = "<html><head><link rel='stylesheet' href='style.css'></head>"
+ "<body><img src='logo.png'/><h1>Invoice</h1></body></html>";
// Provide the folder containing style.css and logo.png as the base path
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(html, "C:/invoices/");
pdf.saveAs("invoice-output.pdf");
Le chemin de base peut pointer vers un répertoire sur le système de fichiers local ou vers une URL distante. IronPDF récupère les ressources référencées depuis cet emplacement pendant le rendu.
Pour un aperçu ciblé de cette méthode, voir l'exemple de code de conversion de chaîne HTML en PDF.
Comment convertir une URL en PDF en Java ?
PdfDocument.renderUrlAsPdf(String url) récupère la page à l'URL indiquée et rend le DOM complet (y compris l'exécution JavaScript) avant d'enregistrer le résultat au format PDF.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/url-to-pdf.java
// Render a live web page to PDF by URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the rendered document
pdf.saveAs("wikipedia-pdf-article.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/url-to-pdf.java
// Render a live web page to PDF by URL
PdfDocument pdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the rendered document
pdf.saveAs("wikipedia-pdf-article.pdf");
Le moteur de rendu Chromium extrait les feuilles de style externes, les polices et les fichiers JavaScript, de sorte que le PDF obtenu reflète fidèlement l'état visuel de la page. Cette méthode est bien adaptée à la génération de rapports à partir de tableaux de bord web, à l'archivage de contenu web public ou à la conversion de visualisations de données qui dépendent du rendu côté client.
Voir l'exemple dédié de conversion d'URL en PDF pour des options supplémentaires telles que les en-têtes de requête personnalisés et l'authentification.
Comment convertir un fichier HTML en PDF en Java ?
PdfDocument.renderHtmlFileAsPdf(String filePath) lit un fichier HTML à partir du système de fichiers local et le convertit au format PDF. La méthode résout automatiquement les références d'actifs relatives dans le fichier HTML par rapport au répertoire du fichier.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-file-to-pdf.java
// Convert a local HTML file (with a linked CSS file) to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the resulting document
pdf.saveAs("invoice-from-file.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-file-to-pdf.java
// Convert a local HTML file (with a linked CSS file) to PDF
PdfDocument pdf = PdfDocument.renderHtmlFileAsPdf("C:/invoices/TestInvoice1.html");
// Save the resulting document
pdf.saveAs("invoice-from-file.pdf");
La méthode gère correctement les projets HTML à plusieurs fichiers. Dans l'exemple ci-dessus, si TestInvoice1.html renvoie à une feuille de style située dans le même répertoire, IronPDF applique cette feuille de style lors du rendu. Le résultat est un PDF qui correspond à l'apparence rendue par le navigateur du fichier source.
renderHtmlFileAsPdf depuis une application serveur. Les chemins relatifs sont résolus par rapport au répertoire de travail de la JVM, qui peut différer de l'emplacement du fichier HTML.Cette méthode est particulièrement utile pour les flux de travail de génération de PDF qui maintiennent des modèles HTML sur disque : générateurs de factures, modèles de rapports et systèmes de sortie de formulaires sont des cas d'utilisation courants.
Comment définir la taille et l'orientation des pages PDF en Java ?
La taille et l'orientation de la page sont contrôlées via la classe ChromePdfRenderOptions. Créez une instance ChromePdfRenderOptions, configurez ses propriétés, puis transmettez-la en tant que deuxième argument à n'importe quel appel renderHtmlAsPdf.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/page-size-orientation.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Create rendering options for the PDF
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set paper size to A4
options.setPaperSize(PaperSize.A4);
// Set to landscape orientation
options.setPaperOrientation(PaperOrientation.Landscape);
// Apply options to the conversion
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Landscape Report</h1>", options);
pdf.saveAs("landscape-a4-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/page-size-orientation.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.render.*;
// Create rendering options for the PDF
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set paper size to A4
options.setPaperSize(PaperSize.A4);
// Set to landscape orientation
options.setPaperOrientation(PaperOrientation.Landscape);
// Apply options to the conversion
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Landscape Report</h1>", options);
pdf.saveAs("landscape-a4-report.pdf");
PaperSize inclut des options standard telles que A4, Letter, Legal, A3 et A5. PaperOrientation accepte Portrait (par défaut) ou Landscape.
Pour les dimensions non standard, utilisez setCustomPaperSizeInMillimeters(double width, double height) ou setCustomPaperSizeInInches(double width, double height) :
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-paper-size.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set a custom 100mm x 150mm page size
options.setCustomPaperSizeInMillimeters(100, 150);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<p>Custom size card</p>", options);
pdf.saveAs("custom-size-card.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-paper-size.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set a custom 100mm x 150mm page size
options.setCustomPaperSizeInMillimeters(100, 150);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<p>Custom size card</p>", options);
pdf.saveAs("custom-size-card.pdf");
Consultez l'exemple de format de papier PDF personnalisé pour obtenir la liste complète des constantes PaperSize et des options de dimensionnement.
Comment définir des marges personnalisées sur un PDF en Java ?
Les tailles de marge sont également définies via ChromePdfRenderOptions. La bibliothèque expose des setters séparés pour les marges supérieure, inférieure, gauche et droite, acceptant toutes des valeurs en millimètres.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-margins.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set all four margins in millimeters
options.setMarginTop(20);
options.setMarginBottom(20);
options.setMarginLeft(15);
options.setMarginRight(15);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<p>Document with custom margins</p>", options);
pdf.saveAs("custom-margins.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/custom-margins.java
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Set all four margins in millimeters
options.setMarginTop(20);
options.setMarginBottom(20);
options.setMarginLeft(15);
options.setMarginRight(15);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<p>Document with custom margins</p>", options);
pdf.saveAs("custom-margins.pdf");
Définir toutes les marges à zéro supprime complètement l'espace blanc, ce qui est utile pour les conceptions sans marges telles que les étiquettes, les certificats ou les mises en page graphiques.
0 désactive la marge sur ce côté. Notez que les marges du pilote d'imprimante sont distinctes des marges IronPDF, donc le contenu qui remplit la page de bord à bord peut encore être rogné lors de l'impression.Pour un exemple de code fonctionnel, visitez l'exemple de marges personnalisées.
Comment ajouter des en-têtes et pieds de page à un PDF en Java ?
IronPDF prend en charge deux types d'en-têtes et de pieds de page : basés sur du texte (TextHeaderFooter) et basés sur du HTML (HtmlHeaderFooter). Les en-têtes de texte sont rapides à configurer ; Les en-têtes HTML prennent en charge le style complet et les images.
Ajout d'un en-tête et pied de page texte
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/text-header-footer.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
import com.ironsoftware.ironpdf.render.*;
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Configure a text-based header
TextHeaderFooter header = new TextHeaderFooter();
// Use merge fields: {page}, {total-pages}, {date}, {time}, {url}, {html-title}
header.setCenterText("Report Title");
header.setRightText("Page {page} of {total-pages}");
options.setTextHeader(header);
// Configure a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setCenterText("{date}");
options.setTextFooter(footer);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Annual Report</h1><p>Content here.</p>", options);
pdf.saveAs("report-with-headers.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/text-header-footer.java
import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.headerfooter.*;
import com.ironsoftware.ironpdf.render.*;
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
// Configure a text-based header
TextHeaderFooter header = new TextHeaderFooter();
// Use merge fields: {page}, {total-pages}, {date}, {time}, {url}, {html-title}
header.setCenterText("Report Title");
header.setRightText("Page {page} of {total-pages}");
options.setTextHeader(header);
// Configure a text-based footer
TextHeaderFooter footer = new TextHeaderFooter();
footer.setLeftText("Confidential");
footer.setCenterText("{date}");
options.setTextFooter(footer);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Annual Report</h1><p>Content here.</p>", options);
pdf.saveAs("report-with-headers.pdf");
Les champs de fusion {page}, {total-pages}, {date}, {time}, {url} et {html-title} sont remplacés au moment du rendu par des valeurs spécifiques au document.
Ajout d'un en-tête HTML
Pour les en-têtes nécessitant des logos, des couleurs de marque ou des mises en page complexes, utilisez HtmlHeaderFooter :
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-header.java
import com.ironsoftware.ironpdf.headerfooter.*;
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setHtmlFragment(
"<div style='background:#003366;color:white;padding:8px;font-family:Arial;'>"
+ "<img src='/images/logo.png' style='height:30px;float:left;'/>"
+ "<span style='line-height:30px;margin-left:10px;'>Company Report</span>"
+ "</div>"
);
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
options.setHtmlHeader(header);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Q3 Results</h1>", options);
pdf.saveAs("report-with-html-header.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/html-header.java
import com.ironsoftware.ironpdf.headerfooter.*;
HtmlHeaderFooter header = new HtmlHeaderFooter();
header.setHtmlFragment(
"<div style='background:#003366;color:white;padding:8px;font-family:Arial;'>"
+ "<img src='/images/logo.png' style='height:30px;float:left;'/>"
+ "<span style='line-height:30px;margin-left:10px;'>Company Report</span>"
+ "</div>"
);
ChromePdfRenderOptions options = new ChromePdfRenderOptions();
options.setHtmlHeader(header);
PdfDocument pdf = PdfDocument.renderHtmlAsPdf(
"<h1>Q3 Results</h1>", options);
pdf.saveAs("report-with-html-header.pdf");
Consultez l'exemple de code d'en-têtes et de pieds de page pour des options de champ de fusion supplémentaires et un comportement sur plusieurs pages.
Comment appliquer un filigrane à un PDF en Java ?
IronPDF applique des filigranes en estampillant le contenu HTML sur les pages PDF existantes. Cette approche donne un contrôle total sur le positionnement, la transparence et le style.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/watermark.java
import com.ironsoftware.ironpdf.*;
// Create the base PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Report</h1>");
// Apply a diagonal text watermark using HTML stamping
String watermarkHtml =
"<div style='position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);"
+ "font-size:80px;color:rgba(200,0,0,0.15);font-family:Arial;font-weight:bold;"
+ "white-space:nowrap;pointer-events:none;'>CONFIDENTIAL</div>";
pdf.applyStamp(watermarkHtml);
pdf.saveAs("watermarked-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/watermark.java
import com.ironsoftware.ironpdf.*;
// Create the base PDF
PdfDocument pdf = PdfDocument.renderHtmlAsPdf("<h1>Confidential Report</h1>");
// Apply a diagonal text watermark using HTML stamping
String watermarkHtml =
"<div style='position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-45deg);"
+ "font-size:80px;color:rgba(200,0,0,0.15);font-family:Arial;font-weight:bold;"
+ "white-space:nowrap;pointer-events:none;'>CONFIDENTIAL</div>";
pdf.applyStamp(watermarkHtml);
pdf.saveAs("watermarked-report.pdf");
La méthode applyStamp accepte le HTML/CSS standard. L'utilisation d'une couleur semi-transparente rgba pour le texte garantit que le filigrane est visible sans masquer le contenu du document situé en dessous.
Pour des filigranes basés sur des images ou des filigranes appliqués à des plages de pages spécifiques, consultez le guide de filigrane personnalisé for Java.
Comment compresser un fichier PDF en Java ?
Pour les fichiers PDF contenant des images, IronPDF peut réduire la taille du fichier en rééchantillonnant les images incorporées à une résolution inférieure. Utilisez compressImages sur un PdfDocument existant.
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/compress-pdf.java
// Load an existing PDF or use one created by IronPDF
PdfDocument pdf = PdfDocument.fromFile(Paths.get("large-report.pdf"));
// Reduce image quality to 60% (value range: 1–100)
pdf.compressImages(60);
// Save the compressed document
pdf.saveAs("compressed-report.pdf");
//:path=/static-assets/pdf/content-code-examples/tutorials/format-pdfs/compress-pdf.java
// Load an existing PDF or use one created by IronPDF
PdfDocument pdf = PdfDocument.fromFile(Paths.get("large-report.pdf"));
// Reduce image quality to 60% (value range: 1–100)
pdf.compressImages(60);
// Save the compressed document
pdf.saveAs("compressed-report.pdf");
Le paramètre de qualité est un entier de 1 à 100, où 100 préserve la qualité complète de l'image et des valeurs plus basses réduisent la taille du fichier au prix de la fidélité de l'image. Une valeur de 60 à 80 offre un équilibre pratique entre la taille et la qualité visuelle pour la plupart des documents professionnels.
Voir l'exemple de compression PDF pour plus de détails sur les seuils de qualité d'image.
Prochaines étapes
Ce tutoriel a couvert les trois méthodes de conversion de HTML en PDF (chaîne, URL et fichier) ainsi que le dimensionnement des pages, les marges, les en-têtes, les pieds de page, les filigranes et la compression. Ce sont les opérations de formatage PDF les plus courantes pour les applications serveur Java.
Pour aller plus loin avec IronPDF for Java :
- Découvrez les exemples de code complet pour IronPDF for Java pour des points de départ copier-coller
- Lisez l'exemple de paramètres de génération PDF pour les options de DPI, de zoom et de qualité de rendu
- Voyez comment extraire le texte et les images des PDF existants
- Apprenez comment imprimer des PDF de manière programmatique à partir d'une application Java
- Consultez la référence de l'API IronPDF for Java pour obtenir la liste complète des méthodes
PdfDocument
Commencez un essai gratuit pour générer des PDF sans filigranes, ou consultez les options de licence pour ajouter IronPDF à un projet de production.
Accès rapide au tutoriel
Télécharger ce didacticiel sous forme de code source Java
Le code source complet de HTML à PDF Java pour ce tutoriel est disponible en téléchargement gratuit sous forme de projet IntelliJ zippé.
TéléchargerExplorez ce tutoriel sur GitHub
Le code source de ce projet est disponible sur GitHub en tant que projet IntelliJ IDEA qui peut également être importé dans Eclipse ou d'autres IDE Java.
Exemples de formatage de PDF IronPDF for JavaVoir la référence API
Explorez la référence de l'API pour IronPDF for Java, couvrant les détails de toutes les classes, méthodes, champs et énumérations dans le package com.ironsoftware.ironpdf.
Questions Fréquemment Posées
Comment convertir une chaîne HTML en PDF en Java?
Utilisez PdfDocument.renderHtmlAsPdf(String html) de la bibliothèque IronPDF for Java. Passez votre balisage HTML comme argument chaîne, puis appelez saveAs sur l'objet PdfDocument renvoyé pour écrire le fichier sur le disque.
Comment ajouter IronPDF à un projet Maven ?
Ajoutez l'artifact com.ironsoftware:ironpdf à la section de votre fichier pom.xml. Ajoutez également une implémentation SLF4J comme org.slf4j:slf4j-simple pour activer la journalisation. Exécutez mvn install pour télécharger les deux artefacts.
Comment définir la taille de page d'un PDF généré avec IronPDF for Java?
Créez un objet ChromePdfRenderOptions et appelez setPaperSize(PaperSize.A4) (ou une autre constante). Passez l'objet options en second argument à renderHtmlAsPdf. Pour des dimensions non standard, utilisez setCustomPaperSizeInMillimeters.
Comment ajouter un en-tête et un pied de page à un PDF en Java?
Utilisez TextHeaderFooter pour les en-têtes et pieds de page en texte brut, ou HtmlHeaderFooter pour le contenu HTML entièrement stylé. Configurez l'objet avec du texte ou HTML, réglez-le sur une instance ChromePdfRenderOptions en utilisant setTextHeader ou setHtmlHeader, et passez les options à la méthode de rendu.
Comment appliquer un filigrane à un PDF en using IronPDF for Java?
Appelez applyStamp(String htmlFragment) sur un PdfDocument existant. Passez une chaîne HTML qui définit l'apparence du filigrane, en utilisant le CSS position:absolute, transform:rotate, et une couleur rgba semi-transparente pour superposer le texte sans masquer le contenu en dessous.
IronPDF for Java peut-il convertir une page web en PDF?
Oui. Appelez PdfDocument.renderUrlAsPdf(String url) avec l'URL de la page. IronPDF utilise un moteur de rendu Chromium pour récupérer et exécuter la page, y compris JavaScript, avant de générer le PDF.
Comment supprimer le filigrane IronPDF des PDF générés?
Appelez License.setLicenseKey("VOTRE-CLÉ-LICENCE") avant toute opération PDF. Le filigrane est appliqué aux PDF générés sans clé de licence valide. Vous pouvez obtenir une licence ou une clé d'essai gratuite sur ironpdf.com/java/licensing/.
Comment compresser un fichier PDF avec IronPDF for Java?
Chargez le PDF en utilisant PdfDocument.fromFile, puis appelez compressImages(int quality) avec une valeur de 1 à 100. Des valeurs inférieures réduisent la taille des fichiers en remplaçant les images intégrées par une résolution inférieure. Appelez saveAs pour enregistrer le fichier compressé.
IronPDF for Java prend-il en charge les marges de page personnalisées?
Oui. Utilisez ChromePdfRenderOptions et appelez setMarginTop, setMarginBottom, setMarginLeft, et setMarginRight avec des valeurs en millimètres. Passez les options à la méthode de rendu pour appliquer les marges.
Quelles versions de Java IronPDF prend-il en charge?
IronPDF for Java prend en charge Java 8 et les versions ultérieures. La bibliothèque est disponible en tant qu'artéfact Maven à com.ironsoftware:ironpdf et en téléchargement standalone fat-JAR à partir de ironpdf.com/java/.






