iText - Memformat Isi Sel

Pada bab ini, kita akan melihat cara membuat dokumen PDF dan menambahkan tabel serta memformat konten sel dalam tabel menggunakan pustaka iText.

Memformat Sel dalam Tabel

Anda dapat membuat PDF kosong Documentdengan membuat instance kelas Dokumen. 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. Anda dapat memformat konten sel dalam tabel menggunakan metodeCell kelas.

Berikut adalah langkah-langkah untuk memformat konten sel dalam tabel.

Langkah 1: Membuat objek PdfWriter

Itu PdfWriterkelas mewakili DocWriter untuk PDF. Kelas ini termasuk dalam paketcom.itextpdf.kernel.pdf. Konstruktor kelas ini menerima string, yang 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/addingBackground.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 PDFDocument di iText. Kelas ini termasuk dalam paketcom.itextpdf.kernel.pdf. Untuk membuat instance kelas ini (dalam mode menulis), Anda perlu meneruskan objek kelasPdfWriter ke konstruktornya.

Instantiate PdfDocument kelas dengan melewatkan di atas dibuat PdfWriter menolak konstruktornya, seperti yang ditunjukkan di bawah ini.

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

Sekali a PdfDocument objek dibuat, Anda dapat menambahkan berbagai elemen seperti halaman, font, lampiran file, dan event handler 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 kelas Tabel 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.element. Tambahkan konten sel menggunakanadd() metode dari Cell kelas, seperti yang ditunjukkan di bawah ini.

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

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

Langkah 6: Menambahkan Background ke sel

Setelah Anda membuat sel dan menambahkan konten ke dalamnya, Anda dapat memformat sel tersebut. Misalnya, Anda dapat mengatur latar belakangnya, meratakan teks di dalam sel, mengubah warna teks, dll., Menggunakan metode kelas sel yang berbeda sepertisetBackgroundColor(), setBorder(), setTextAlignment().

Anda dapat mengatur warna latar belakang, batas, dan perataan teks ke sel yang dibuat pada langkah sebelumnya, seperti yang ditunjukkan di bawah ini.

c1.setBackgroundColor(Color.DARK_GRAY);    // Setting background color to cell1 
c1.setBorder(Border.NO_BORDER);            // Setting border to cell1 
c1.setTextAlignment(TextAlignment.CENTER); // Setting text alignment to cell1

Langkah 7: Menambahkan sel ke tabel

Terakhir, untuk menambahkan sel ini ke tabel, panggil addCell() metode dari Table kelas dan lulus cell objek sebagai parameter untuk metode ini, seperti yang ditunjukkan di bawah ini.

table.addCell(c1);

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 memformat konten sel dalam tabel menggunakan perpustakaan iText. Ini membuat dokumen PDF dengan namaaddingBackground.pdf, menambahkan tabel ke dalamnya, memformat konten selnya, dan menyimpannya di jalur C:/itextExamples/

Simpan kode ini dalam file dengan nama BackgroundToTable.java.

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

import com.itextpdf.layout.Document;
import com.itextpdf.layout.border.Border; 
import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.Table; 
import com.itextpdf.layout.property.TextAlignment;  

public class BackgroundToTable {      
   public static void main(String args[]) throws Exception {        
      // Creating a PdfWriter object   
      String dest = "C:/itextExamples/addingBackground.pdf";   
      PdfWriter writer = new PdfWriter(dest);                  
      
      // Creating a PdfDocument object       
      PdfDocument pdfDoc = new PdfDocument(writer);                   
      
      // Creating a Document object      
      Document doc = new Document(pdfDoc); 
      
      // Creating a table       
      float [] pointColumnWidths = {200F, 200F};       
      Table table = new Table(pointColumnWidths);
      
      // Populating row 1 and adding it to the table               
      Cell c1 = new Cell();                        // Creating cell 1 
      c1.add("Name");                              // Adding name to cell 1   
      c1.setBackgroundColor(Color.DARK_GRAY);      // Setting background color
      c1.setBorder(Border.NO_BORDER);              // Setting border
      c1.setTextAlignment(TextAlignment.CENTER);   // Setting text alignment      
      table.addCell(c1);                           // Adding cell 1 to the table 
      
      Cell c2 = new 
      Cell();                               
      c2.add("Raju");       
      c2.setBackgroundColor(Color.GRAY);       
      c2.setBorder(Border.NO_BORDER);       
      c2.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c2);      
      
      // Populating row 2 and adding it to the table               
      Cell c3 = new Cell();       
      c3.add("Id");       
      c3.setBackgroundColor(Color.WHITE);       
      c3.setBorder(Border.NO_BORDER);       
      c3.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c3);                          
      
      Cell c4 = new Cell();       
      c4.add("001");       
      c4.setBackgroundColor(Color.WHITE);       
      c4.setBorder(Border.NO_BORDER);       
      c4.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c4);                          
      
      // Populating row 3 and adding it to the table        
      Cell c5 = new Cell();       
      c5.add("Designation");       
      c5.setBackgroundColor(Color.DARK_GRAY);       
      c5.setBorder(Border.NO_BORDER);       
      c5.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c5);                 
      
      Cell c6 = new Cell(); 
      c6.add("Programmer");       
      c6.setBackgroundColor(Color.GRAY);       
      c6.setBorder(Border.NO_BORDER);       
      c6.setTextAlignment(TextAlignment.CENTER);       
      table.addCell(c6);                              
      
      // Adding Table to document        
      doc.add(table);                  
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Background added successfully..");     
   } 
}

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

javac BackgroundToTable.java 
java BackgroundToTable

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

Background added successfully..

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