iText - Ajout d'une table

Dans ce chapitre, nous verrons comment créer un document PDF et y ajouter un tableau à l'aide de la bibliothèque iText.

Ajouter une table à un PDF

Vous pouvez créer un document PDF vide en instanciant le Documentclasse. Lors de l'instanciation de cette classe, vous devez passer unPdfDocumentobjet en tant que paramètre de son constructeur. Ensuite, pour ajouter un tableau au document, vous devez instancier leTable classe et ajoutez cet objet au document en utilisant le add() méthode.

Voici les étapes pour créer un document PDF avec un tableau.

Étape 1: Création d'un objet PdfWriter

le PdfWriterLa classe représente le DocWriter pour un PDF. Cette classe appartient au packagecom.itextpdf.kernel.pdf. Le constructeur de cette classe accepte une chaîne, représentant le chemin du fichier où le PDF doit être créé.

Instancier le PdfWriter class en passant une valeur de chaîne (représentant le chemin où vous devez créer un PDF) à son constructeur, comme indiqué ci-dessous.

// Creating a PdfWriter 
String dest = "C:/itextExamples/addingTable.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Lorsque l'objet de ce type est passé à un PdfDocument (classe), chaque élément ajouté à ce document sera écrit dans le fichier spécifié.

Étape 2: Création d'un objet PdfDocument

le PdfDocumentclass est la classe qui représente le document PDF dans iText. Cette classe appartient au packagecom.itextpdf.kernel.pdf. Pour instancier cette classe (en écriture), vous devez passer un objet de la classePdfWriter à son constructeur.

Instanciez la classe PdfDocument en passant l'objet PdfWriter créé ci-dessus à son constructeur, comme illustré ci-dessous.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

Une fois qu'un objet PdfDocument est créé, vous pouvez ajouter divers éléments tels que la page, la police, la pièce jointe et le gestionnaire d'événements à l'aide des méthodes respectives fournies par sa classe.

Étape 3: Création de l'objet Document

le Document classe du package com.itextpdf.layoutest l'élément racine lors de la création d'un PDF autonome. Un des constructeurs de cette classe accepte un objet de la classePdfDocument.

Instancier le Document class en passant l'objet de la classe PdfDocument créé dans les étapes précédentes, comme indiqué ci-dessous.

// Creating a Document   
Document document = new Document(pdfDoc);

Étape 4: Création d'un objet Table

le Tableclass représente une grille bidimensionnelle remplie de cellules ordonnées en lignes et en colonnes. Il appartient au packagecom.itextpdf.layout.element.

Instancier le Table classe comme indiqué ci-dessous.

// Creating a table object 
float [] pointColumnWidths = {150F, 150F, 150F}; 
Table table = new Table(pointColumnWidths);

Étape 5: Ajout de cellules au tableau

Créer un cell objet en instanciant le Cell classe du package com.itextpdf.layout.element. Ajoutez le contenu de la cellule à l'aide duadd() méthode de cette classe.

Enfin, pour ajouter cette cellule au tableau, appelez le addCell() méthode de la Table classe et passer le cell objet comme paramètre de cette méthode, comme indiqué ci-dessous.

// Adding cell 1 to the table 
Cell cell1 = new Cell();   // Creating a cell 
cell1.add("Name");         // Adding content to the cell 
table.addCell(cell1);      // Adding cell to the table       

// Adding cell 2 to the table Cell 
cell2 = new Cell();       // Creating a cell 
cell2.add("Raju");        // Adding content to the cell 
table.addCell(cell2);     // Adding cell to the table

Étape 6: Ajout d'un tableau au document

Ajouter le table objet créé à l'étape précédente à l'aide du add() méthode de la Document classe comme indiqué ci-dessous.

// Adding list to the document 
document.add(table);

Étape 7: fermeture du document

Fermez le document à l'aide du close() méthode de la Document classe, comme indiqué ci-dessous.

// Closing the document 
document.close();

Exemple

Le programme Java suivant montre comment créer un document PDF et y ajouter un tableau à l'aide de la bibliothèque iText. Il crée un document PDF avec le nomaddingTable.pdf, y ajoute une table et l'enregistre dans le chemin C:/itextExamples/

Enregistrez ce code dans un fichier avec le nom AddingTable.java.

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.Table;  

public class AddingTable {      
   public static void main(String args[]) throws Exception {           
      // Creating a PdfDocument object   
      String dest = "C:/itextExamples/addingTable.pdf";   
      PdfWriter writer = new PdfWriter(dest);       
         
      // Creating a PdfDocument object      
      PdfDocument pdf = new PdfDocument(writer);                  
      
      // Creating a Document object       
      Document doc = new Document(pdf);                       
         
      // Creating a table       
      float [] pointColumnWidths = {150F, 150F, 150F};   
      Table table = new Table(pointColumnWidths);    
      
      // Adding cells to the table       
      table.addCell(new Cell().add("Name"));       
      table.addCell(new Cell().add("Raju"));       
      table.addCell(new Cell().add("Id"));       
      table.addCell(new Cell().add("1001"));       
      table.addCell(new Cell().add("Designation"));       
      table.addCell(new Cell().add("Programmer"));                 
         
      // Adding Table to document        
      doc.add(table);                  
         
      // Closing the document       
      doc.close();
      System.out.println("Table created successfully..");   
   }     
}

Compilez et exécutez le fichier Java enregistré à partir de l'invite de commande à l'aide des commandes suivantes -

javac AddingTable.java 
java AddingTable

Lors de l'exécution, le programme ci-dessus crée un document PDF, affichant le message suivant.

Table created successfully..

Si vous vérifiez le chemin spécifié, vous pouvez trouver le document PDF créé, comme indiqué ci-dessous.