Skip to main content
Skip table of contents

How do I change the border color of a PdfPCell?


I am trying to set border colors of table cells. No matter what I try, the border color is not changing - it's always black! What am I doing wrong?


Here's my test code. cell1 should have a red top border and a blue bottom border:


PdfPTable table = new PdfPTable(2);
PdfPCell cell1 = new PdfPCell(new Phrase("Cell 1"));
cell1.setBorderColorTop(new BaseColor(255, 0, 0));
cell1.setBorderColorBottom(BaseColor.BLUE);
table.addCell(cell1);
PdfPCell cell2 = new PdfPCell(new Phrase("Cell 2"));
table.addCell(cell2);
Question posted on StackOverflow on Jan 29, 2016 by Naresh

Please take a look at the ColoredBorder example. It shows the solutions of your problem.

Here is a short piece of code that shows how to create a cell with different borders in iText 7:

PdfDocument pdfDoc = new PdfDocument(new PdfWriter(dest));
Document doc = new Document(pdfDoc);
Table table;
table = new Table(2);
Cell cell;
cell = new Cell().add("Cell 1");
cell.setBorderTop(new SolidBorder(Color.RED, 1));
cell.setBorderBottom(new SolidBorder(Color.BLUE, 1));
table.addCell(cell);
cell = new Cell().add("Cell 2");
table.addCell(cell);
doc.add(table);
doc.close();

The result looks like this:

Different cell border widths and colors

Different cell border widths and colors

Note that SolidBorder constructor has two parameters: the color and the width. You can chose any type of border you need: DashedBorder, DottedBorder, DoubleBorder, GrooveBorder, InsetBorder, OutsetBorder, RidgeBorder, RoundDotsBorder.

Click How do I change the border color of a PdfPCell? if you want to see how to answer this question in iText 5.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.