iText - Aggiunta di una tabella

In questo capitolo vedremo come creare un documento PDF e aggiungervi una tabella utilizzando la libreria iText.

Aggiunta di una tabella a un PDF

È possibile creare un documento PDF vuoto istanziando il file Documentclasse. Durante la creazione di un'istanza di questa classe, è necessario superare un filePdfDocumentoggetto come parametro del suo costruttore. Quindi, per aggiungere una tabella al documento, è necessario creare un'istanza del fileTable class e aggiungi questo oggetto al documento usando il add() metodo.

Di seguito sono riportati i passaggi per creare un documento PDF con una tabella al suo interno.

Passaggio 1: creazione di un oggetto PdfWriter

Il PdfWriterclass rappresenta il DocWriter per un PDF. Questa classe appartiene al pacchettocom.itextpdf.kernel.pdf. Il costruttore di questa classe accetta una stringa, che rappresenta il percorso del file in cui deve essere creato il PDF.

Istanziare il file PdfWriter class passando un valore stringa (che rappresenta il percorso in cui è necessario creare un PDF) al suo costruttore, come mostrato di seguito.

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

Quando l'oggetto di questo tipo viene passato a un PdfDocument (classe), ogni elemento aggiunto a questo documento verrà scritto nel file specificato.

Passaggio 2: creazione di un oggetto PdfDocument

Il PdfDocumentclass è la classe che rappresenta il documento PDF in iText. Questa classe appartiene al pacchettocom.itextpdf.kernel.pdf. Per istanziare questa classe (in modalità di scrittura), è necessario passare un oggetto della classePdfWriter al suo costruttore.

Istanziare la classe PdfDocument passando l'oggetto PdfWriter creato sopra al suo costruttore, come mostrato di seguito.

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

Una volta creato un oggetto PdfDocument, è possibile aggiungere vari elementi come pagina, font, file allegati e gestore eventi utilizzando i rispettivi metodi forniti dalla sua classe.

Passaggio 3: creazione dell'oggetto Documento

Il Document classe del pacchetto com.itextpdf.layoutè l'elemento principale durante la creazione di un PDF autosufficiente. Uno dei costruttori di questa classe accetta un oggetto della classePdfDocument.

Istanziare il file Document class passando l'oggetto della classe PdfDocument creato nei passaggi precedenti, come mostrato di seguito.

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

Passaggio 4: creazione di un oggetto tabella

Il Tableclass rappresenta una griglia bidimensionale riempita di celle ordinate in righe e colonne. Appartiene al pacchettocom.itextpdf.layout.element.

Istanziare il file Table classe come mostrato di seguito.

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

Passaggio 5: aggiunta di celle alla tabella

Creare un cell oggetto istanziando il file Cell classe del pacchetto com.itextpdf.layout.element. Aggiungi il contenuto della cella usando iladd() metodo di questa classe.

Infine, per aggiungere questa cella alla tabella, chiama il file addCell() metodo del Table class e passare il cell oggetto come parametro di questo metodo, come mostrato di seguito.

// 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

Passaggio 6: aggiunta di una tabella al documento

Aggiungi il table oggetto creato nel passaggio precedente utilizzando il add() metodo del Document classe come mostrato di seguito.

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

Passaggio 7: chiusura del documento

Chiudere il documento utilizzando il file close() metodo del Document classe, come mostrato di seguito.

// Closing the document 
document.close();

Esempio

Il seguente programma Java mostra come creare un documento PDF e aggiungervi una tabella utilizzando la libreria iText. Crea un documento PDF con il nomeaddingTable.pdf, aggiunge una tabella e la salva nel percorso C:/itextExamples/

Salva questo codice in un file con il nome 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..");   
   }     
}

Compilare ed eseguire il file Java salvato dal prompt dei comandi utilizzando i seguenti comandi:

javac AddingTable.java 
java AddingTable

Al momento dell'esecuzione, il programma di cui sopra crea un documento PDF, visualizzando il seguente messaggio.

Table created successfully..

Se verifichi il percorso specificato, puoi trovare il documento PDF creato, come mostrato di seguito.