如何在java中设置itext pdf表备用行颜色

时间:2013-11-09 08:59:15

标签: java pdf itext

我使用itext pdf库从数据库生成pdf文件。现在我需要我必须以不同的颜色显示替代的pdf表行,就像斑马颜色(灰色和白色) 但我不知道该怎么做......

这是我的代码..

        PdfPTable table = new PdfPTable(10);
        table.setTotalWidth(100);
        table.setWidthPercentage(100);
        while (rs.next()) {
            table.addCell(rs.getString("date"));
            table.addCell(rs.getString("time"));
            table.addCell(rs.getString("source"));
            table.addCell(rs.getString("destination"));
            table.addCell(rs.getString("extension"));
         }

请帮帮我。 提前谢谢。

2 个答案:

答案 0 :(得分:11)

boolean b = true;
for(PdfPRow r: table.getRows()) {
  for(PdfPCell c: r.getCells()) {
    c.setBackgroundColor(b ? BaseColor.GREY : BaseColor.WHITE);
  }
  b = !b;
}

答案 1 :(得分:0)

我对iText 7

执行以下操作
Table table = ...
int NUMBER_OF_ROWS = ...
Cell cell = null;
boolean condition = true;

for (int i = 0; i < NUMBER_OF_ROWS; i++) {

    cell = new Cell().add(new Paragraph("Column 1"));
    cell.setBackgroundColor(condition ? Color.GREY: Color.WHITE);
    table.addCell(cell);

    cell = new Cell().add(new Paragraph("Column 2"));
    cell.setBackgroundColor(condition ? Color.GREY : Color.WHITE);
    table.addCell(cell);

    cell = new Cell().add(new Paragraph("Column 3"));
    cell.setBackgroundColor(condition ? Color.GREY : Color.WHITE);
    table.addCell(cell);

    condition = !condition;
}