We can set table cell’s content alignment horizontally and vertically. To set the horizontal alignment we use the setHorizontalAlignment()
method. To align it vertically we use the setVerticalAlignment()
method. The alignment constant is defined in the com.itextpdf.text.Element
class.
package org.kodejava.itextpdf;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Phrase;
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 TableCellAlignment {
public static void main(String[] args) {
Document doc = new Document();
try {
PdfWriter.getInstance(doc, new FileOutputStream("TableCellAlignment.pdf"));
doc.open();
// Setting table's cells horizontal alignment
PdfPTable table = new PdfPTable(3);
PdfPCell cell1 = new PdfPCell(new Phrase("Cell 1"));
cell1.setHorizontalAlignment(Element.ALIGN_LEFT);
table.addCell(cell1);
PdfPCell cell2 = new PdfPCell(new Phrase("Cell 2"));
cell2.setHorizontalAlignment(Element.ALIGN_CENTER);
table.addCell(cell2);
PdfPCell cell3 = new PdfPCell(new Phrase("Cell 3"));
cell3.setHorizontalAlignment(Element.ALIGN_RIGHT);
table.addCell(cell3);
table.completeRow();
// Setting table's cells vertical alignment
PdfPCell[] cells = new PdfPCell[3];
int[] alignments = new int[]{
Element.ALIGN_TOP,
Element.ALIGN_MIDDLE,
Element.ALIGN_BOTTOM
};
for (int i = 0; i < cells.length; i++) {
cells[i] = new PdfPCell(new Phrase("Cell " + (i + 1)));
cells[i].setMinimumHeight(50);
cells[i].setVerticalAlignment(alignments[i]);
table.addCell(cells[i]);
}
table.completeRow();
doc.add(table);
} catch (DocumentException | FileNotFoundException e) {
e.printStackTrace();
} finally {
doc.close();
}
}
}
Maven Dependencies
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13.3</version>
</dependency>
Latest posts by Wayan (see all)
- How do I add an object to the beginning of Stream? - February 7, 2025
- How do I get number of each day for a certain month in Java? - September 8, 2024
- How do I get operating system process information using ProcessHandle? - July 22, 2024