ITextSharp: Set table cell border color

67,426

When you set individual cell border properties you either need to set all border colors and widths individually, or explicitly set the UseVariableBorders property to true. Try this example to see what I mean:

PdfPTable table = new PdfPTable(1);
PdfPCell cell = new PdfPCell(new Phrase("test 1"));
cell.UseVariableBorders = true;
cell.BorderColorLeft = BaseColor.BLUE;
cell.BorderColorRight = BaseColor.ORANGE;
table.AddCell(cell);

cell = new PdfPCell(new Phrase("test 2"));
cell.BorderColorLeft = BaseColor.RED;
cell.BorderColorRight = BaseColor.GREEN;
cell.BorderColorTop = BaseColor.PINK;
cell.BorderColorBottom = BaseColor.YELLOW;
cell.BorderWidthLeft = 1f;
cell.BorderWidthRight = 1f;
cell.BorderWidthTop = 1f;
cell.BorderWidthBottom = 1f;
table.AddCell(cell);

cell = new PdfPCell(new Phrase("test 3"));
cell.BorderColor = BaseColor.GREEN;
table.AddCell(cell);
Share:
67,426
Luke101
Author by

Luke101

Updated on July 09, 2022

Comments

  • Luke101
    Luke101 almost 2 years

    How do I set the border color of a table cell. here is the code i have:

    // create and define table
    var table = new PdfPTable(8);
    table.HorizontalAlignment = Element.ALIGN_CENTER;
    
    //table.HeaderRows = 1;
    
    // the cell object
    PdfPCell cell;
    var f = FontFactory.GetFont("Tahoma", 11, Font.BOLD);
    
    cell = new PdfPCell(new Phrase("Source Review", f));
    cell.BorderColorLeft = new BaseColor(255, 255, 255);
    cell.BorderColorRight = new iTextSharp.text.BaseColor(255, 255, 255);
    table.AddCell(cell);
    

    As you can see i am setting the color two different ways and neither way is working. When the table is rendered the border is always black. How can I fix this.