Как установить фоновый цвет ячейки таблицы с помощью iText?
Хотя, конечно, можно использовать BaseColor
, по умолчанию он предлагает очень ограниченный выбор.
Интересно, как добавить свой собственный цвет в документ?
...
PdfPTable table = new PdfPTable(3);
PdfPCell cell = new PdfPCell(new Phrase("some clever text"));
cell.setBackgroundColor(BaseColor.GREEN);
table.addCell(cell);
...
Ответы
Ответ 1
Множество опций.
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
Проводка, в надежде, что кто-то другой найдет этот ответ полезным.
Кажется, можно создать новый BaseColor
из WebColor как:
BaseColor myColor = WebColors.GetRGBColor("#A00000");
Которая затем может быть добавлена в качестве фона как:
cell.setBackgroundColor(myColor);
Ответ 3
Попробуйте следующее:
cell.setBackgroundColor(new BaseColor(226, 226, 226));
или:
cell.setBackgroundColor(WebColors.getRGBColor("#E2E2E2"));
устаревший
Ответ 4
Еще одно решение:
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));