iText - dodawanie tabeli

W tym rozdziale zobaczymy, jak utworzyć dokument PDF i dodać do niego tabelę za pomocą biblioteki iText.

Dodawanie tabeli do pliku PDF

Możesz utworzyć pusty dokument PDF, tworząc wystąpienie Documentklasa. Podczas tworzenia instancji tej klasy musisz przekazać plikPdfDocumentobiekt jako parametr jego konstruktora. Następnie, aby dodać tabelę do dokumentu, musisz utworzyć wystąpienieTable i dodaj ten obiekt do dokumentu przy użyciu rozszerzenia add() metoda.

Poniżej przedstawiono kroki tworzenia dokumentu PDF z tabelą.

Krok 1: Tworzenie obiektu PdfWriter

Plik PdfWriterreprezentuje DocWriter dla pliku PDF. Ta klasa należy do pakietucom.itextpdf.kernel.pdf. Konstruktor tej klasy akceptuje ciąg znaków reprezentujący ścieżkę do pliku, w którym ma zostać utworzony plik PDF.

Utwórz wystąpienie PdfWriter poprzez przekazanie wartości ciągu (reprezentującej ścieżkę, w której należy utworzyć plik PDF) do jego konstruktora, jak pokazano poniżej.

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

Gdy obiekt tego typu jest przekazywany do PdfDocument (klasy), każdy element dodany do tego dokumentu zostanie zapisany w określonym pliku.

Krok 2: Tworzenie obiektu PdfDocument

Plik PdfDocumentclass to klasa reprezentująca dokument PDF w iText. Ta klasa należy do pakietucom.itextpdf.kernel.pdf. Aby utworzyć instancję tej klasy (w trybie pisania), musisz przekazać obiekt tej klasyPdfWriter do swojego konstruktora.

Utwórz wystąpienie klasy PdfDocument, przekazując utworzony powyżej obiekt PdfWriter do jej konstruktora, jak pokazano poniżej.

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

Po utworzeniu obiektu PdfDocument można dodać różne elementy, takie jak strona, czcionka, załącznik do pliku i moduł obsługi zdarzeń, używając odpowiednich metod udostępnionych przez jego klasę.

Krok 3: Tworzenie obiektu dokumentu

Plik Document klasa pakietu com.itextpdf.layoutjest elementem głównym podczas tworzenia samowystarczalnego pliku PDF. Jeden z konstruktorów tej klasy akceptuje obiekt tej klasyPdfDocument.

Utwórz wystąpienie Document class poprzez przekazanie obiektu klasy PdfDocument utworzone w poprzednich krokach, jak pokazano poniżej.

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

Krok 4: Tworzenie obiektu tabeli

Plik Tableclass reprezentuje dwuwymiarową siatkę wypełnioną komórkami uporządkowanymi w wierszach i kolumnach. Należy do pakietucom.itextpdf.layout.element.

Utwórz wystąpienie Table klasa, jak pokazano poniżej.

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

Krok 5: Dodawanie komórek do tabeli

Stwórz cell obiekt, tworząc wystąpienie Cell klasa pakietu com.itextpdf.layout.element. Dodaj zawartość komórki za pomocąadd() metoda tej klasy.

Na koniec, aby dodać tę komórkę do tabeli, wywołaj addCell() metoda Table klasę i zdaj cell obiekt jako parametr tej metody, jak pokazano poniżej.

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

Krok 6: Dodawanie tabeli do dokumentu

Dodaj table obiekt utworzony w poprzednim kroku przy użyciu add() metoda Document klasa, jak pokazano poniżej.

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

Krok 7: Zamknięcie dokumentu

Zamknij dokument za pomocą close() metoda Document klasa, jak pokazano poniżej.

// Closing the document 
document.close();

Przykład

Poniższy program w języku Java pokazuje, jak utworzyć dokument PDF i dodać do niego tabelę za pomocą biblioteki iText. Tworzy dokument PDF o nazwieaddingTable.pdf, dodaje do niej tabelę i zapisuje ją na ścieżce C:/itextExamples/

Zapisz ten kod w pliku o nazwie 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..");   
   }     
}

Skompiluj i uruchom zapisany plik Java z wiersza polecenia, używając następujących poleceń -

javac AddingTable.java 
java AddingTable

Po uruchomieniu powyższy program tworzy dokument PDF, wyświetlając następujący komunikat.

Table created successfully..

Jeśli zweryfikujesz określoną ścieżkę, możesz znaleźć utworzony dokument PDF, jak pokazano poniżej.