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.