Comment générer des fichiers PDF à partir d'applications Java de manière dynamique
Ce didacticiel expliquera comment créer des fichiers PDF de manière dynamique dans les applications Java et explorera les exemples de code pour créer des pages PDF à partir de texte, d'URL et de pages HTML. Ensuite, il couvrira la création d'un fichier PDF protégé par mot de passe à partir d'une nouvelle instance de document.
La bibliothèque IronPDF for Java est idéale pour cet objectif car elle est gratuite pour le développement, plus sécurisée, fournit toutes les fonctionnalités dans une seule bibliothèque avec une précision de 100 %, et offre des performances exceptionnelles.
Avant d'aller de l'avant, faisons une brève présentation de IronPDF.
Comment générer des fichiers PDF à partir d'applications Java de manière dynamique
- Installer une bibliothèque Java pour générer des PDF dynamiquement
- Créer un PDF à partir d'une chaîne HTML personnalisée
- Générer un PDF à partir d'un fichier HTML avec un style CSS complexe
- Utiliser un lien URL pour générer un PDF avec l'option d'ajouter un en-tête et un pied de page en Java
- Mettre un mot de passe sur les fichiers PDF générés dynamiquement
IronPDF
La bibliothèque IronPDF for Java est la bibliothèque Java PDF la plus populaire développée par Iron Software pour créer des PDF, éditer de nouveaux fichiers et manipuler des PDF existants. Elle est conçue pour être compatible avec un large éventail de langages JVM, notamment Java, Scala et Kotlin, et peut fonctionner sur une large gamme de plateformes, y compris Windows, Linux, Docker, Azure, et AWS. IronPDF fonctionne avec des IDE populaires tels que IntelliJ IDEA et Eclipse.
Les principales fonctionnalités incluent la capacité de créer un fichier PDF à partir de HTML, HTTP, JavaScript, CSS, documents XML, et divers formats d'image. De plus, IronPDF offre les capacités d'ajouter des en-têtes et des pieds de page, créer des tableaux dans le PDF, ajouter des signatures numériques, pièces jointes, implémenter des mots de passe et des fonctionnalités de sécurité. Il prend en charge le multithreading complet et bien plus encore!
Maintenant, commençons avec les exemples de code pour créer des documents dynamiques.
Tout d'abord, créez un nouveau projet de référentiel Maven.
Créer un nouveau projet Java
À des fins de démonstration, ce didacticiel utilisera l'IDE IntelliJ. Vous pouvez utiliser un IDE de votre choix. Les étapes pour créer un nouveau projet Java peuvent varier d'un IDE à l'autre. Utilisez les étapes suivantes :
- Lancez l'IDE IntelliJ.
- Sélectionnez Fichier > Nouveau > Projet.
- Entrez le titre du projet.
- Choisissez un emplacement, un langage, un système de construction et un JDK.
- Cliquez sur le bouton Créer.
Créer un projet
Nommez votre projet, choisissez un emplacement, un langage, un système de construction et un JDK, puis sélectionnez l'option du bouton Créer. Un nouveau projet sera créé.
Maintenant, installez IronPDF dans cette application Java de démonstration.
Installer la bibliothèque IronPDF for Java
L'étape suivante consiste à ajouter une dépendance dans le fichier pom.xml pour installer IronPDF. Ajoutez le code source XML suivant dans le fichier pom.xml comme indiqué ci-dessous.
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>INSERT_LATEST_VERSION_HERE</version>
</dependency>
<dependency>
<groupId>com.ironsoftware</groupId>
<artifactId>ironpdf</artifactId>
<version>INSERT_LATEST_VERSION_HERE</version>
</dependency>
Remplacez INSERT_LATEST_VERSION_HERE par la dernière version d' IronPDF du dépôt Maven .
Après avoir ajouté la dépendance, construisez le projet. L'application installera automatiquement la bibliothèque depuis le dépôt Maven.
Commençons par un exemple simple de conversion d'une chaîne HTML en fichier PDF.
Créer des documents PDF
Considérez l'exemple suivant :
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
public class HtmlToPdfExample {
public static void main(String[] args) {
// Define HTML content
String htmlString = "<h1>My First PDF File</h1><p>This is a sample PDF file</p>";
// Convert HTML content to PDF
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlString);
// Save the PdfDocument to a file
try {
myPdf.saveAs(Paths.get("myPDF.pdf"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
import java.nio.file.Paths;
public class HtmlToPdfExample {
public static void main(String[] args) {
// Define HTML content
String htmlString = "<h1>My First PDF File</h1><p>This is a sample PDF file</p>";
// Convert HTML content to PDF
PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlString);
// Save the PdfDocument to a file
try {
myPdf.saveAs(Paths.get("myPDF.pdf"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
Dans la fonction ci-dessus, le contenu HTML est affecté à une variable de chaîne. La méthode renderHtmlAsPdf prend une chaîne de caractères comme argument et convertit le contenu HTML en une instance de document PDF. La méthode saveAs accepte le chemin d'accès à l'emplacement comme entrée et enregistre l'instance du fichier PDF dans le répertoire sélectionné.
Le PDF produit par le code ci-dessus est présenté ci-dessous.
Sortie
Générer un fichier PDF à partir d'un fichier HTML
IronPDF fournit également l'incroyable fonctionnalité de génération de fichiers PDF à partir de fichiers HTML.
Le fichier HTML d'exemple qui sera utilisé dans l'exemple est présenté ci-dessous.
HTML rendu avec un nouveau paragraphe
Le code d'exemple suivant montre comment générer des PDF :
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class HtmlFileToPdfExample {
public static void main(String[] args) {
// Convert HTML file to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("myFile.html");
// Save the PdfDocument to a file
try {
myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class HtmlFileToPdfExample {
public static void main(String[] args) {
// Convert HTML file to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("myFile.html");
// Save the PdfDocument to a file
try {
myPdf.saveAs("myPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
La méthode renderHtmlFileAsPdf accepte le chemin d'accès au fichier HTML comme argument et génère un document PDF à partir de ce fichier. Ce fichier PDF est ensuite enregistré sur un disque local à l'aide de la méthode saveAs.
Le document que ce programme a généré au format PDF est présenté ci-dessous.
Sortie PDF
L'étape suivante consiste à utiliser un document HTML de taille importante contenant du JavaScript et du CSS et à vérifier l'exactitude et la cohérence du design lors de la conversion de HTML en PDF.
Générer des fichiers PDF à partir de fichiers HTML
La page HTML d'exemple suivante sera utilisée et elle inclut des images, des animations, des styles, jQuery et Bootstrap.
Page HTML d'exemple
HTML d'exemple
Le document HTML d'exemple montre qu'il a un style élaboré et inclut des graphiques. Ce fichier HTML sera converti en document PDF, et l'exactitude du contenu et du style sera évaluée.
La même ligne de code de l'exemple ci-dessus sera utilisée.
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class StyledHtmlToPdfExample {
public static void main(String[] args) {
// Convert HTML file with styling to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");
// Save the PdfDocument to a file
try {
myPdf.saveAs("styledPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class StyledHtmlToPdfExample {
public static void main(String[] args) {
// Convert HTML file with styling to PDF
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("index.html");
// Save the PdfDocument to a file
try {
myPdf.saveAs("styledPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
L'exemple précédent comprend déjà une explication du code. Le reste est inchangé ;
Voici le fichier PDF résultant :
HTML en PDF
Utiliser IronPDF pour créer des fichiers PDF est assez simple. Le format et le contenu du document source sont tous deux cohérents.
Une URL peut également être utilisée pour créer un fichier PDF.
Convertir une URL en document PDF
L'exemple de code suivant générera un fichier PDF à partir d'une URL.
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class UrlToPdfExample {
public static void main(String[] args) {
// Convert URL to PDF
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the PdfDocument to a file
try {
myPdf.saveAs("urlPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import java.io.IOException;
public class UrlToPdfExample {
public static void main(String[] args) {
// Convert URL to PDF
PdfDocument myPdf = PdfDocument.renderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
// Save the PdfDocument to a file
try {
myPdf.saveAs("urlPDF.pdf");
} catch (IOException e) {
e.printStackTrace();
}
}
}
La fonction renderUrlAsPdf accepte une URL comme argument et la convertit en document PDF. Ce document PDF est ensuite enregistré sur un disque local à l'aide de la fonction saveAs.
Le PDF résultant est le suivant :
PDF de sortie
Il est également possible d'ajouter un filigrane, un en-tête, un pied de page, une signature numérique, de convertir des fichiers XML/pages JSP, et plus encore.
L'étape suivante consiste à générer des PDF protégés par mot de passe.
Générer un fichier PDF protégé par mot de passe
Le code d'exemple suivant démontre l'exemple d'ajout de sécurité au fichier PDF généré.
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.security.PdfEditSecurity;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import java.io.IOException;
import java.nio.file.Paths;
public class SecurePdfExample {
public static void main(String[] args) {
// Load an existing PDF document
PdfDocument myPdf = PdfDocument.fromFile(Paths.get("myPDF.pdf"));
// Configure security options
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserEdits(PdfEditSecurity.NO_EDIT);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.NO_PRINT);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("123456"); // Set owner password
securityOptions.setUserPassword("123412"); // Set user password
// Apply security options to the PDF document
myPdf.applySecurity(securityOptions);
// Save the secured PdfDocument to a file
try {
myPdf.saveAs(Paths.get("securedPDF.pdf"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
import com.ironsoftware.ironpdf.PdfDocument;
import com.ironsoftware.ironpdf.security.PdfEditSecurity;
import com.ironsoftware.ironpdf.security.PdfPrintSecurity;
import com.ironsoftware.ironpdf.security.SecurityOptions;
import java.io.IOException;
import java.nio.file.Paths;
public class SecurePdfExample {
public static void main(String[] args) {
// Load an existing PDF document
PdfDocument myPdf = PdfDocument.fromFile(Paths.get("myPDF.pdf"));
// Configure security options
SecurityOptions securityOptions = new SecurityOptions();
securityOptions.setAllowUserEdits(PdfEditSecurity.NO_EDIT);
securityOptions.setAllowUserAnnotations(false);
securityOptions.setAllowUserPrinting(PdfPrintSecurity.NO_PRINT);
securityOptions.setAllowUserFormData(false);
securityOptions.setOwnerPassword("123456"); // Set owner password
securityOptions.setUserPassword("123412"); // Set user password
// Apply security options to the PDF document
myPdf.applySecurity(securityOptions);
// Save the secured PdfDocument to a file
try {
myPdf.saveAs(Paths.get("securedPDF.pdf"));
} catch (IOException e) {
e.printStackTrace();
}
}
}
Le fichier PDF est rendu en lecture seule par le code ci-dessus, et les modifications ou l'alignement des paragraphes ne sont pas autorisés. Le document est également interdit à l'impression, garantissant qu'il ne peut pas être imprimé. Un mot de passe a également été défini. Le fichier est maintenant très sécurisé. De cette manière, différents droits d'accès au fichier peuvent être définis, et un résultat dynamique peut être généré à l'aide de IronPDF.
Résumé
Ce didacticiel a démontré comment générer des fichiers PDF. Un fichier PDF a été créé à partir d'une chaîne HTML, d'un fichier HTML et d'une URL, avec des exemples allant du simple au complexe. De nombreuses autres fonctionnalités utiles sont disponibles telles que l'ajout d'un filigrane, d'un pied de page, d'un en-tête, de la couleur de premier plan, la fusion et la division des pages, etc. Toutes ne peuvent pas être couvertes ici ; visitez la documentation officielle IronPDF pour plus d'exploration.
La conversion de HTML en PDF a été simplifiée grâce à IronPDF. Le HTML a été converti en PDF avec une seule ligne de code. Certaines mesures de sécurité ont également été ajoutées au fichier PDF. C'est plus rapide, plus précis et plus sûr. Chaque PDF généré inclut le filigrane IronPDF. C'est parce qu'une version de développement gratuite avec des permissions limitées est utilisée, et non la licence commerciale. Il peut être supprimé en achetant une version d'essai gratuite ou une licence complète selon les besoins.
Questions Fréquemment Posées
Comment puis-je générer des fichiers PDF à partir de HTML en Java?
Vous pouvez générer des fichiers PDF à partir de HTML en Java en utilisant la méthode renderHtmlAsPdf d'IronPDF pour convertir des chaînes HTML et la méthode renderHtmlFileAsPdf pour les fichiers HTML.
Quelle méthode devrais-je utiliser pour convertir une URL en PDF en Java?
Pour convertir une URL en PDF en Java, utilisez la méthode renderUrlAsPdf d'IronPDF, qui vous permet de créer facilement des PDF à partir de pages web.
Comment sécuriser un PDF avec un mot de passe en Java?
En Java, vous pouvez sécuriser un PDF avec un mot de passe en using IronPDF pour configurer les SecurityOptions, qui incluent l'ajout de mots de passe et la gestion des permissions pour le document PDF.
IronPDF peut-il gérer un CSS complexe lors de la conversion de HTML en PDF?
Oui, IronPDF peut gérer un CSS complexe lors de la conversion de HTML en PDF, assurant que le style est fidèlement reflété dans le document PDF généré.
Quelles sont les limitations de la version de développement gratuite d'IronPDF?
La version de développement gratuite d'IronPDF inclut un filigrane sur chaque PDF généré. Acheter une licence commerciale supprime cette limitation.
Quelles fonctionnalités supplémentaires IronPDF offre-t-il pour les PDF?
IronPDF offre des fonctionnalités supplémentaires telles que l'ajout de filigranes, d'en-têtes, de pieds de page, et la possibilité de fusionner des pages au sein des PDF.
Quelles sont les étapes pour configurer IronPDF dans un nouveau projet Java?
Pour configurer IronPDF dans un nouveau projet Java, installez la bibliothèque via Maven, puis importez les classes nécessaires dans votre projet pour commencer à générer des PDF.
Puis-je restreindre l'édition et l'impression sur un PDF généré par IronPDF?
Oui, IronPDF vous permet de restreindre l'édition, les annotations, l'impression et l'entrée de données de formulaire en appliquant des paramètres de sécurité spécifiques au document PDF.
Quelles plateformes sont prises en charge par IronPDF for Java?
IronPDF for Java prend en charge une large gamme de plateformes, y compris Windows, Linux, Docker, Azure et AWS.
Où puis-je trouver une documentation détaillée pour utiliser IronPDF en Java?
Une documentation détaillée et des exemples pour utiliser IronPDF en Java se trouvent sur le site officiel d'IronPDF, qui fournit des ressources et des guides complets.



