如何使用iText设置表格单元格的背景颜色?

时间:2011-06-19 23:11:37

标签: java pdf-generation itext

虽然当然可以使用BaseColor,但默认情况下,它提供的选择非常有限。

我想知道如何将自己的自定义颜色添加到文档中?

...
        PdfPTable table = new PdfPTable(3);

        PdfPCell cell = new PdfPCell(new Phrase("some clever text"));
        cell.setBackgroundColor(BaseColor.GREEN);
        table.addCell(cell);
...

4 个答案:

答案 0 :(得分:46)

发布,希望其他人会发现此回复有用。

似乎可以从WebColor创建一个新的BaseColor

BaseColor myColor = WebColors.GetRGBColor("#A00000");

然后可以将其添加为背景:

cell.setBackgroundColor(myColor);

答案 1 :(得分:27)

很多选择。

BaseColor color = new BaseColor(red, green, blue); // or red, green, blue, alpha
CYMKColor cmyk = new CMYKColor(cyan, yellow, magenta, black); // no alpha
GrayColor gray = new GrayColor(someFloatBetweenZeroAndOneInclusive); // no alpha

还有图案颜色和阴影颜色,但这些颜色要简单得多。

答案 2 :(得分:1)

试试这个:
cell.setBackgroundColor(new BaseColor(226, 226, 226));
或:
cell.setBackgroundColor(WebColors.getRGBColor("#E2E2E2")); 已弃用

答案 3 :(得分:0)

另一个解决方案是:

public static String mColor = "#aa8cc5";
int aa = Integer.parseInt(mColor,16); // base 16
int colorArr = Color.rgb(Color.red(aa),Color.green(aa),Color.blue(aa));
cell1.setBackgroundColor(new BaseColor(colorArr));