iText - Menambahkan Daftar ke Tabel

Dalam bab ini, kita akan melihat bagaimana menambahkan daftar ke tabel dalam dokumen PDF menggunakan perpustakaan iText.

Menambahkan Daftar ke Tabel dalam PDF

Anda dapat membuat Dokumen PDF kosong dengan membuat instance Documentkelas. Saat membuat instance kelas ini, Anda harus meneruskan aPdfDocumentobjek sebagai parameter untuk konstruktornya. Kemudian, untuk menambahkan tabel ke dokumen, Anda perlu membuat instanceTable kelas dan tambahkan objek ini ke dokumen menggunakan add() metode.

Untuk menambahkan file list ke tabel, Anda perlu membuat instance List kelas dari com.itextpdf.layout.element paket dan masukkan ke dalam cell objek menggunakan add() metode dari Cell kelas.

Berikut adalah langkah-langkah untuk menambahkan daftar ke sel tabel.

Langkah 1: Membuat objek PdfWriter

Itu PdfWriterkelas mewakili Penulis Doc untuk PDF. Kelas ini termasuk dalam paketcom.itextpdf.kernel.pdf. Konstruktor kelas ini menerima string, mewakili jalur file tempat PDF akan dibuat.

Buat instance kelas PdfWriter dengan meneruskan nilai string (mewakili jalur tempat Anda perlu membuat PDF) ke konstruktornya, seperti yang ditunjukkan di bawah ini

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

Saat objek jenis ini diteruskan ke PdfDocument (kelas), setiap elemen yang ditambahkan ke dokumen ini akan ditulis ke file yang ditentukan.

Langkah 2: Membuat objek PdfDocument

Itu PdfDocumentkelas adalah kelas yang mewakili Dokumen PDF di iText. Kelas ini termasuk dalam paket com.itextpdf.kernel.pdf. Untuk membuat instance kelas ini (dalam mode menulis), Anda perlu meneruskan objek kelasPdfWriter ke konstruktornya.

Instantiate PdfDocument kelas dengan meneruskan objek PdfWriter yang dibuat di atas ke konstruktornya, seperti yang ditunjukkan di bawah ini.

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

Setelah objek PdfDocument dibuat, Anda dapat menambahkan berbagai elemen seperti halaman, font, lampiran file, dan penanganan kejadian menggunakan metode masing-masing yang disediakan oleh kelasnya.

Langkah 3: Membuat objek Dokumen

Itu Document kelas paket com.itextpdf.layoutadalah elemen root saat membuat PDF mandiri. Salah satu konstruktor kelas ini menerima objek dari kelas PdfDocument.

Instantiate Document kelas dengan melewatkan objek kelas PdfDocument dibuat pada langkah sebelumnya, seperti yang ditunjukkan di bawah ini.

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

Langkah 4: Membuat objek Tabel

Itu Tableclass merepresentasikan grid dua dimensi yang diisi dengan sel, diurutkan dalam baris dan kolom. Itu milik paketcom.itextpdf.layout.element.

Instantiate Table kelas seperti yang ditunjukkan di bawah ini.

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

Langkah 5: Membuat sel

Membuat cell objek dengan membuat instance Cell kelas paket com.itextpdf.layout, seperti yang ditunjukkan di bawah ini.

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

Langkah 6: Membuat objek List

Setelah membuat sel, buat file list objek dengan membuat instance List kelas paket com.itextpdf.layout.element. Buat item daftar dengan membuat instanceListItem kelas dan tambahkan item yang dibuat menggunakan add() metode dari List kelas, seperti yang ditunjukkan di bawah ini.

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);

Langkah 7: Menambahkan daftar ke sel tabel

Sekarang, tambahkan daftar yang dibuat di atas ke sel tabel menggunakan add()metode kelas sel. Dan, tambahkan sel ini ke tabel menggunakanaddCell() metode dari Table kelas, seperti yang ditunjukkan di bawah ini.

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

Langkah 8: Menambahkan tabel ke dokumen

Tambahkan table objek yang dibuat pada langkah sebelumnya menggunakan add() metode dari Document kelas, seperti yang ditunjukkan di bawah ini.

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

Langkah 9: Menutup Dokumen

Tutup dokumen menggunakan close() metode dari Document kelas, seperti yang ditunjukkan di bawah ini.

// Closing the document 
document.close();

Contoh

Program Java berikut menunjukkan cara menambahkan daftar ke sel tabel dalam dokumen PDF menggunakan pustaka iText. Ini membuat dokumen PDF dengan namaaddingObjects.pdf, menambahkan tabel ke dalamnya, menyisipkan daftar ke salah satu selnya, dan menyimpannya di jalur C:/itextExamples/

Simpan kode ini dalam file dengan nama 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..");     
   } 
}

Kompilasi dan jalankan file Java yang disimpan dari Command prompt menggunakan perintah berikut -

javac AddingListsToTable.java 
java AddingListsToTable

Setelah dieksekusi, program di atas membuat dokumen PDF, menampilkan pesan berikut.

Lists added to table successfully..

Jika Anda memverifikasi jalur yang ditentukan, Anda dapat menemukan dokumen PDF yang dibuat, seperti yang ditunjukkan di bawah ini.