This example shows how to create a table in a PDF document. Using the iText PDF library we can use the PdfPTable
and the PdfPCell
classes to create table and cells in our PDF document. In the following example we use array of strings to define the table’s data.
Let’s see the complete code snippet below:
package org.kodejava.itextpdf;
import com.itextpdf.text.*;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
public class TableDemo {
public static void main(String[] args) {
String[] headers = new String[]{"No", "Username", "First Name", "Last Name"};
String[][] rows = new String[][]{
{"1", "jdow", "John", "Dow"},
{"2", "stiger", "Scott", "Tiger"},
{"3", "fbar", "Foo", "Bar"}
};
// Create a new document.
Document document = new Document(PageSize.LETTER.rotate());
try {
// Get an instance of PdfWriter and create a Table.pdf file
// as an output.
PdfWriter.getInstance(document, new FileOutputStream("TableDemo.pdf"));
document.open();
// Create an instance of PdfPTable. After that we transform
// the header and rows array into a PdfPCell object. When
// each table row is complete we have to call the
// table.completeRow() method.
//
// For better presentation we also set the cell font name,
// size and weight. And we also define the background fill
// for the cell.
Font fontHeader = new Font(Font.FontFamily.TIMES_ROMAN, 12, Font.BOLD);
Font fontRow = new Font(Font.FontFamily.TIMES_ROMAN, 10, Font.NORMAL);
PdfPTable table = new PdfPTable(headers.length);
for (String header : headers) {
PdfPCell cell = new PdfPCell();
cell.setGrayFill(0.9f);
cell.setPhrase(new Phrase(header.toUpperCase(), fontHeader));
table.addCell(cell);
}
table.completeRow();
for (String[] row : rows) {
for (String data : row) {
Phrase phrase = new Phrase(data, fontRow);
table.addCell(new PdfPCell(phrase));
}
table.completeRow();
}
document.addTitle("PDF Table Demo");
document.add(table);
} catch (DocumentException | FileNotFoundException e) {
e.printStackTrace();
} finally {
document.close();
}
}
}
Maven Dependencies
<!-- https://search.maven.org/remotecontent?filepath=com/itextpdf/itextpdf/5.5.13.3/itextpdf-5.5.13.3.jar -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.3</version>
</dependency>
Latest posts by Wayan (see all)
- How do I create a string of repeated characters? - September 1, 2023
- How do I convert datetime string with optional part to a date object? - August 28, 2023
- How do I split large excel file into multiple smaller files? - April 15, 2023