iText - dodawanie list do tabeli

W tym rozdziale zobaczymy, jak dodać listę do tabeli w dokumencie PDF za pomocą biblioteki iText.

Dodawanie list do tabeli w pliku PDF

Możesz utworzyć pusty dokument PDF, tworząc wystąpienie Documentklasa. Podczas tworzenia wystąpienia 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.

Aby dodać list do tabeli, musisz utworzyć wystąpienie List klasa com.itextpdf.layout.element opakowanie i włóż go do cell obiekt za pomocą add() metoda Cell klasa.

Poniżej przedstawiono kroki, aby dodać listę do komórki tabeli.

Krok 1: Tworzenie obiektu PdfWriter

Plik PdfWriterreprezentuje Doc Writer 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 klasy PdfWriter, przekazując wartość ciągu (reprezentującą ścieżkę, w której należy utworzyć plik PDF) do jej konstruktora, jak pokazano poniżej

// Creating a PdfWriter 
String dest = "C:/itextExamples/addingObjects.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 pakietu com.itextpdf.kernel.pdf. Aby utworzyć instancję tej klasy (w trybie pisania), musisz przekazać obiekt tej klasyPdfWriter do swojego konstruktora.

Utwórz wystąpienie PdfDocument klasy, przekazując utworzony powyżej obiekt PdfWriter do jego 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 klasy PdfDocument.

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ądkowaną w wierszach i kolumnach. Należy do pakietucom.itextpdf.layout.element.

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

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

Krok 5: Tworzenie komórki

Stwórz cell obiekt, tworząc wystąpienie Cell klasa pakietu com.itextpdf.layout, jak pokazano niżej.

// Adding cell to the table 
Cell listCell = new Cell(); // Creating a cell

Krok 6: Tworzenie obiektu listy

Po utworzeniu komórki utwórz plik list obiekt, tworząc wystąpienie List klasa pakietu com.itextpdf.layout.element. Utwórz elementy listy, tworząc wystąpienieListItem class i dodaj utworzone elementy za pomocą add() metoda List klasa, jak pokazano poniżej.

List list = new List(); 
ListItem item1 = new ListItem("JavaFX"); 
ListItem item2 = new ListItem("Java"); 
ListItem item3 = new ListItem("Java Servlets");        
list.add(item1); 
list.add(item2); 
list.add(item3);

Krok 7: Dodawanie listy do komórki tabeli

Teraz dodaj powyższą listę do komórki tabeli za pomocą add()metoda klasy Cell. Dodaj tę komórkę do tabeli za pomocą rozszerzeniaaddCell() metoda Table klasa, jak pokazano poniżej.

listCell.add(list); 
table.addCell(listCell);

Krok 8: 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 9: 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 dodać listę do komórki tabeli w dokumencie PDF za pomocą biblioteki iText. Tworzy dokument PDF o nazwieaddingObjects.pdf, dodaje do niej tabelę, wstawia listę do jednej ze swoich komórek i zapisuje ją na ścieżce C:/itextExamples/

Zapisz ten kod w pliku o nazwie AddingListsToTable.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.List; 
import com.itextpdf.layout.element.ListItem; 
import com.itextpdf.layout.element.Table; 
import com.itextpdf.layout.property.TextAlignment;  

public class AddingListsToTable {      
   public static void main(String args[]) throws Exception {              
      // Creating a PdfWriter object
      String file = "C:/itextExamples/addingObjects.pdf";       
      PdfDocument pdfDoc = new PdfDocument(new PdfWriter(file));                   
      
      // Creating a Document object       
      Document doc = new Document(pdfDoc);               
      
      // Creating a table       
      float [] pointColumnWidths = {300F, 300F};       
      Table table = new Table(pointColumnWidths);                            
      
      // Adding row 1 to the table                
      Cell c1 = new Cell();       
      c1.add("Java Related Tutorials");       
      c1.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c1);                      
      
      List list1 = new List();       
      ListItem item1 = new ListItem("JavaFX");
      ListItem item2 = new ListItem("Java");       
      ListItem item3 = new ListItem("Java Servlets");              
      list1.add(item1);       
      list1.add(item2);       
      list1.add(item3);                 
      
      Cell c2 = new Cell();       
      c2.add(list1);       
      c2.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c2);                 
      
      // Adding row 2 to the table                
      Cell c3 = new Cell();       
      c3.add("No SQL Databases");       
      c3.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c3);                     
      
      List list2 = new List();       
      list2.add(new ListItem("HBase"));       
      list2.add(new ListItem("Neo4j"));       
      list2.add(new ListItem("MongoDB"));                 
      
      Cell c4 = new Cell();       
      c4.add(list2); 
      c4.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c4);                       
      
      // Adding Table to document        
      doc.add(table);                  
      
      // Closing the document       
      doc.close();  
      System.out.println("Lists added to table successfully..");     
   } 
}

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

javac AddingListsToTable.java 
java AddingListsToTable

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

Lists added to table successfully..

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