Passer au contenu du pied de page
UTILISATION D'IRONPDF POUR JAVA

Comment créer une table dans un document PDF en utilisant Java (Tutoriel)

Cet article va démontrer comment créer des tableaux dans un document PDF en utilisant Java.

Il est nécessaire d'avoir une bibliothèque tierce pour créer des tableaux dans des documents PDF en utilisant un programme Java. Il existe plusieurs bibliothèques disponibles qui peuvent être utilisées pour créer des tableaux dans des PDFs en utilisant un programme Java. Cependant, elles peuvent être coûteuses, difficiles à utiliser ou avoir des problèmes de performance. Il peut être difficile de trouver une bibliothèque qui soit facile à utiliser, gratuite pour le développement, et performante.

IronPDF est une bibliothèque très utile pour manipuler les fichiers PDF. Vous pouvez trouver plus d'informations sur IronPDF en cliquant sur la page officielle Java d'IronPDF.

Les étapes suivantes sont couvertes dans cet article :

  1. Créer un nouveau projet
  2. Installer la bibliothèque IronPDF
  3. Créer un nouveau document PDF
  4. Créer un tableau pour celui-ci
  5. Ajouter des valeurs dynamiques au document PDF

Créer un nouveau projet Java

Ouvrez votre IDE préféré. IntelliJ est recommandé dans cet article, donc les étapes pour créer un nouveau projet peuvent différer en utilisant un autre IDE.

Ouvrez IntelliJ IDE, cliquez sur Fichier > Nouveau projet dans la barre de menu supérieure. Nommez votre projet, sélectionnez l'emplacement, la langue, le système de construction et le JDK comme indiqué ci-dessous.

Comment créer un tableau dans un document PDF en utilisant Java (Tutoriel), Figure 1 : Fenêtre Nouveau Projet d'IntelliJ IDE Fenêtre Nouveau Projet d'IntelliJ IDE

Cliquez sur le bouton Créer un projet, et un nouveau projet sera créé.

Installer la bibliothèque IronPDF

Maintenant, installez la bibliothèque IronPDF dans le projet nouvellement créé. Continuez avec les étapes suivantes.

Ouvrez le fichier pom.xml et ajoutez les dépendances et les dépôts nécessaires pour utiliser IronPDF. Le contenu spécifique pour le pom.xml n'est pas fourni dans cet article, mais assurez-vous d'inclure correctement la bibliothèque IronPDF en utilisant la gestion des dépendances de Maven.

<!-- Add IronPDF dependencies here -->
<dependencies>
    <!-- Example dependency for IronPDF, actual group and artifact id to be retrieved from official documentation -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>VERSION_NUMBER</version>
    </dependency>
</dependencies>
<!-- Add IronPDF dependencies here -->
<dependencies>
    <!-- Example dependency for IronPDF, actual group and artifact id to be retrieved from official documentation -->
    <dependency>
        <groupId>com.ironsoftware</groupId>
        <artifactId>ironpdf</artifactId>
        <version>VERSION_NUMBER</version>
    </dependency>
</dependencies>
XML

Tapez la commande suivante dans votre terminal et appuyez sur entrée pour installer les dépendances Maven spécifiées.

mvn install
mvn install
SHELL

Cela installera IronPDF dans ce projet.

Ajoutez l'instruction d'importation suivante pour utiliser les classes IronPDF.

import com.ironsoftware.ironpdf.*;
import com.ironsoftware.ironpdf.*;
JAVA

Tout d'abord, nous allons apprendre à créer des documents PDF simples en Java.

Créer un document PDF

Le code d'exemple suivant va créer un nouveau document PDF.

public static void main(String[] args) throws IOException {
    // Create a PDF document from an HTML string
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("This is a sample PDF file");

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException {
    // Create a PDF document from an HTML string
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("This is a sample PDF file");

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

La méthode renderHtmlAsPdf prend une chaîne de caractères comme argument et convertit cette chaîne en une instance d'un document PDF.

La fonction saveAs prend un chemin de fichier comme argument et enregistre le document PDF nouvellement créé à l'emplacement spécifié dans l'argument.

Un PDF est créé à partir du code ci-dessus, comme le montre l'image suivante.

Comment créer un tableau dans un document PDF en utilisant Java (Tutoriel), Figure 2 : Nouveau document PDF Nouveau document PDF

Créer un tableau pour le fichier PDF

Le code suivant va créer un tableau dans un PDF.

public static void main(String[] args) throws IOException {
    // HTML content for creating a table
    String tableContent = "<table>\n" +
        "  <tr>\n" +
        "    <th>Company</th>\n" +
        "    <th>Contact</th>\n" +
        "    <th>Country</th>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Alfreds Futterkiste</td>\n" +
        "    <td>Maria Anders</td>\n" +
        "    <td>Germany</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Centro comercial Moctezuma</td>\n" +
        "    <td>Francisco Chang</td>\n" +
        "    <td>Mexico</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Ernst Handel</td>\n" +
        "    <td>Roland Mendel</td>\n" +
        "    <td>Austria</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Island Trading</td>\n" +
        "    <td>Helen Bennett</td>\n" +
        "    <td>UK</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Laughing Bacchus Winecellars</td>\n" +
        "    <td>Yoshi Tannamuri</td>\n" +
        "    <td>Canada</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Magazzini Alimentari Riuniti</td>\n" +
        "    <td>Giovanni Rovelli</td>\n" +
        "    <td>Italy</td>\n" +
        "  </tr>\n" +
        "</table>";

    // Create a PDF document with table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Example of adding table in a PDF</h1>" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException {
    // HTML content for creating a table
    String tableContent = "<table>\n" +
        "  <tr>\n" +
        "    <th>Company</th>\n" +
        "    <th>Contact</th>\n" +
        "    <th>Country</th>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Alfreds Futterkiste</td>\n" +
        "    <td>Maria Anders</td>\n" +
        "    <td>Germany</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Centro comercial Moctezuma</td>\n" +
        "    <td>Francisco Chang</td>\n" +
        "    <td>Mexico</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Ernst Handel</td>\n" +
        "    <td>Roland Mendel</td>\n" +
        "    <td>Austria</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Island Trading</td>\n" +
        "    <td>Helen Bennett</td>\n" +
        "    <td>UK</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Laughing Bacchus Winecellars</td>\n" +
        "    <td>Yoshi Tannamuri</td>\n" +
        "    <td>Canada</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Magazzini Alimentari Riuniti</td>\n" +
        "    <td>Giovanni Rovelli</td>\n" +
        "    <td>Italy</td>\n" +
        "  </tr>\n" +
        "</table>";

    // Create a PDF document with table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf("<h1>Example of adding table in a PDF</h1>" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

Le code ci-dessus utilise des balises HTML simples pour créer un tableau dans un PDF en utilisant Java. Ainsi, pour créer un tableau, vous devez avoir une connaissance de base de l'utilisation des balises HTML. Presque tous les programmeurs Java ont une connaissance de l'HTML, donc il est très facile de créer un nouveau tableau et des cellules de tableau en utilisant des balises HTML.

Le fichier PDF généré par ce programme est montré dans l'image suivante :

Comment créer un tableau dans un document PDF en utilisant Java (Tutoriel), Figure 3 : Document PDF contenant un tableau à partir de HTML Document PDF contenant un tableau à partir de HTML

C'est un tableau simple sans style.

Ajoutons maintenant un peu de style à ce tableau, tel que définir la largeur du tableau, la marge, la disposition, la police, la couleur de fond, et plus encore.

Ajouter du style au tableau

Le code d'exemple suivant va formater notre tableau et ajouter du style à nos cellules.

public static void main(String[] args) throws IOException {
    // HTML and CSS content for styling the table
    String htmlStyle = "<!DOCTYPE html>\n" +
        "<html>\n" +
            "<head>\n" +
                "<style>\n" +
                    "table {\n" +
                    "  font-family: arial, sans-serif;\n" +
                    "  border-collapse: collapse;\n" +
                    "  width: 100%;\n" +
                    "}\n" +
                    "\n" +
                    "td, th {\n" +
                    "  border: 1px solid #dddddd;\n" +
                    "  text-align: left;\n" +
                    "  padding: 8px;\n" +
                    "}\n" +
                    "\n" +
                    "tr:nth-child(even) {\n" +
                    "  background-color: #dddddd;\n" +
                    "}\n" +
                "</style>\n" +
            "</head>\n" +
        "<body>";

    String tableContent = "<table>\n" +
        "  <tr>\n" +
        "    <th>Company</th>\n" +
        "    <th>Contact</th>\n" +
        "    <th>Country</th>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Alfreds Futterkiste</td>\n" +
        "    <td>Maria Anders</td>\n" +
        "    <td>Germany</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Centro comercial Moctezuma</td>\n" +
        "    <td>Francisco Chang</td>\n" +
        "    <td>Mexico</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Ernst Handel</td>\n" +
        "    <td>Roland Mendel</td>\n" +
        "    <td>Austria</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Island Trading</td>\n" +
        "    <td>Helen Bennett</td>\n" +
        "    <td>UK</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Laughing Bacchus Winecellars</td>\n" +
        "    <td>Yoshi Tannamuri</td>\n" +
        "    <td>Canada</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Magazzini Alimentari Riuniti</td>\n" +
        "    <td>Giovanni Rovelli</td>\n" +
        "    <td>Italy</td>\n" +
        "  </tr>\n" +
        "</table>\n</body>\n" +
        "</html>";

    // Create a PDF document with styled table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlStyle + "Sample PDF" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
public static void main(String[] args) throws IOException {
    // HTML and CSS content for styling the table
    String htmlStyle = "<!DOCTYPE html>\n" +
        "<html>\n" +
            "<head>\n" +
                "<style>\n" +
                    "table {\n" +
                    "  font-family: arial, sans-serif;\n" +
                    "  border-collapse: collapse;\n" +
                    "  width: 100%;\n" +
                    "}\n" +
                    "\n" +
                    "td, th {\n" +
                    "  border: 1px solid #dddddd;\n" +
                    "  text-align: left;\n" +
                    "  padding: 8px;\n" +
                    "}\n" +
                    "\n" +
                    "tr:nth-child(even) {\n" +
                    "  background-color: #dddddd;\n" +
                    "}\n" +
                "</style>\n" +
            "</head>\n" +
        "<body>";

    String tableContent = "<table>\n" +
        "  <tr>\n" +
        "    <th>Company</th>\n" +
        "    <th>Contact</th>\n" +
        "    <th>Country</th>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Alfreds Futterkiste</td>\n" +
        "    <td>Maria Anders</td>\n" +
        "    <td>Germany</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Centro comercial Moctezuma</td>\n" +
        "    <td>Francisco Chang</td>\n" +
        "    <td>Mexico</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Ernst Handel</td>\n" +
        "    <td>Roland Mendel</td>\n" +
        "    <td>Austria</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Island Trading</td>\n" +
        "    <td>Helen Bennett</td>\n" +
        "    <td>UK</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Laughing Bacchus Winecellars</td>\n" +
        "    <td>Yoshi Tannamuri</td>\n" +
        "    <td>Canada</td>\n" +
        "  </tr>\n" +
        "  <tr>\n" +
        "    <td>Magazzini Alimentari Riuniti</td>\n" +
        "    <td>Giovanni Rovelli</td>\n" +
        "    <td>Italy</td>\n" +
        "  </tr>\n" +
        "</table>\n</body>\n" +
        "</html>";

    // Create a PDF document with styled table content
    PdfDocument myPdf = PdfDocument.renderHtmlAsPdf(htmlStyle + "Sample PDF" + tableContent);

    try {
        // Save the created PDF document to a file
        myPdf.saveAs(Paths.get("html_saved.pdf"));
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}
JAVA

Le CSS ajouté est utilisé pour styliser le tableau dans le PDF. Il est donc très efficace d'utiliser le CSS pour styliser selon les besoins.

Suivant est le PDF généré par ce programme.

Comment créer un tableau dans un document PDF en utilisant Java (Tutoriel), Figure 4 : Document PDF contenant un tableau à partir de HTML et stylisé avec CSS Document PDF contenant un tableau à partir de HTML et stylisé avec CSS

Ce code ci-dessus semble très désordonné. Mais il peut être nettoyé en déplaçant tout le contenu HTML dans un fichier HTML et en générant ensuite le PDF à partir de ce fichier.

Créer un tableau en utilisant un fichier HTML dans un PDF en utilisant Java

Créez un nouveau fichier HTML et ajoutez tout votre contenu HTML à ce fichier comme montré ci-dessous :

Comment créer un tableau dans un document PDF en utilisant Java (Tutoriel), Figure 5 : HTML déplacé dans son propre fichier HTML HTML déplacé dans son propre fichier HTML

Ajoutez le code suivant au programme Java.

// Create a PDF document from an HTML file
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("Create_Table.html");

try {
    // Save the created PDF document to a file
    myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
    throw new RuntimeException(e);
}
// Create a PDF document from an HTML file
PdfDocument myPdf = PdfDocument.renderHtmlFileAsPdf("Create_Table.html");

try {
    // Save the created PDF document to a file
    myPdf.saveAs(Paths.get("html_saved.pdf"));
} catch (IOException e) {
    throw new RuntimeException(e);
}
JAVA

Nous pouvons voir à quel point il est facile de générer un PDF à partir d'un document HTML. Si vous devez créer des fichiers PDF en Java, la façon la plus simple est de créer un document HTML séparé avec du contenu et des styles puis simplement convertir votre document HTML en PDF avec une seule ligne de code.

Comment créer un tableau dans un document PDF en utilisant Java (Tutoriel), Figure 6 : Document PDF final avec style Document PDF final avec style

Résumé

Ce tutoriel a démontré comment créer un tableau stylisé dans un fichier PDF en utilisant Java et appris à convertir des fichiers HTML en fichiers PDF. IronPDF for Java also offers functionality to add images to the PDF file, split PDF files, add headers and footers, apply digital signatures, and much more. Explorez la documentation IronPDF pour en savoir plus sur ces fonctionnalités et d'autres capacités.

Remove the IronPDF watermark from your generated PDF documents by purchasing a license key or by registering for a free trial.

Questions Fréquemment Posées

Comment puis-je démarrer un nouveau projet Java pour créer des PDF ?

Pour démarrer un nouveau projet Java pour créer des PDF, vous pouvez utiliser un IDE comme IntelliJ. Commencez par configurer le projet et installer la bibliothèque IronPDF via Maven pour gérer la création et la manipulation de PDF.

Quelles sont les étapes pour convertir du contenu HTML en PDF en Java ?

Pour convertir du contenu HTML en PDF en Java, vous pouvez utiliser la méthode PdfDocument.renderHtmlAsPdf d'IronPDF. Cela implique d'écrire votre contenu HTML, de le styliser éventuellement avec CSS, et de le rendre en PDF.

Puis-je utiliser du CSS pour styliser les tableaux dans les PDF générés avec Java ?

Oui, vous pouvez utiliser du CSS pour styliser les tableaux dans les PDF en incluant le CSS dans le contenu HTML avant de le rendre en PDF à l'aide d'IronPDF. Cela vous permet de définir des polices, des bordures, des couleurs, et plus encore.

Comment créer un PDF à partir d'un fichier HTML externe en utilisant Java ?

Pour créer un PDF à partir d'un fichier HTML externe en Java, vous pouvez utiliser la méthode PdfDocument.renderHtmlFileAsPdf d'IronPDF, qui convertit l'ensemble du fichier HTML en un document PDF.

Quels sont les avantages d'utiliser une bibliothèque tierce pour la création de PDF en Java ?

Utiliser une bibliothèque tierce comme IronPDF simplifie le processus de création de PDF en Java, offrant des fonctionnalités telles que la conversion de HTML en PDF, la stylisation des tableaux, et des fonctionnalités supplémentaires comme le support des images et des signatures numériques.

Comment puis-je inclure des images dans un document PDF en utilisant des bibliothèques Java ?

Vous pouvez inclure des images dans un document PDF en les intégrant dans le contenu HTML que vous rendez en PDF en utilisant IronPDF. Cette méthode permet une incorporation sans faille des éléments visuels.

Quelles options sont disponibles pour diviser les PDF en Java ?

IronPDF offre des options pour diviser les PDF, vous permettant de séparer un seul PDF en plusieurs documents. Cette fonctionnalité peut être particulièrement utile pour gérer de gros documents ou extraire des sections spécifiques.

Comment puis-je appliquer des signatures numériques aux PDF en utilisant Java ?

Vous pouvez appliquer des signatures numériques aux PDF en utilisant les fonctionnalités intégrées d'IronPDF, qui supportent l'ajout de signatures numériques pour renforcer la sécurité et l'authenticité des documents.

Que dois-je faire si mon document PDF contient un filigrane ?

Si vos documents PDF créés avec IronPDF contiennent un filigrane, vous pouvez le supprimer en achetant une clé de licence ou en vous inscrivant à une licence d'essai gratuite.

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