Как установить цвет фона ячейки таблицы с помощью iText? - PullRequest
25 голосов
/ 20 июня 2011

Хотя, конечно, можно использовать BaseColor, по умолчанию он предлагает очень ограниченный выбор.

Интересно, как я могу добавить свой собственный цвет в документ?

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

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

Ответы [ 4 ]

46 голосов
/ 20 июня 2011

Публикация в надежде, что кто-то найдет этот ответ полезным.

Кажется, можно создать новый BaseColor из WebColor как:

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

Который затем можно добавить какфон как:

cell.setBackgroundColor(myColor);
27 голосов
/ 20 июня 2011

Много опций.

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

Есть также цвета узоров и оттенков, но они гораздо менее просты.

1 голос
/ 28 декабря 2016

Попробуйте:
cell.setBackgroundColor(new BaseColor(226, 226, 226));
или:
cell.setBackgroundColor(WebColors.getRGBColor("#E2E2E2")); устарело

0 голосов
/ 03 ноября 2014

Еще одно решение:

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));
...