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

Jam*_*sev 27 java pdf 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);
...
Run Code Online (Sandbox Code Playgroud)

Jam*_*sev 47

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

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

BaseColor myColor = WebColors.GetRGBColor("#A00000");
Run Code Online (Sandbox Code Playgroud)

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

cell.setBackgroundColor(myColor);
Run Code Online (Sandbox Code Playgroud)

  • WebColors现在已经过时了,你知道这样做的现代方法吗?还是我们应该忽略它的过时性(因为iTextSharp似乎把我用它的大部分用于过时)? (2认同)

Mar*_*rer 28

很多选择.

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
Run Code Online (Sandbox Code Playgroud)

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