Comment définir une couleur de fond d'une cellule de Table en utilisant iText?

s'il est bien sûr possible d'utiliser BaseColor, par défaut, il offre des choix très limités.

je me demande comment je peux ajouter ma propre couleur personnalisée au document?

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

        PdfPCell cell = new PdfPCell(new Phrase("some clever text"));
        cell.setBackgroundColor(BaseColor.GREEN);
        table.addCell(cell);
...
24
demandé sur JAM 2011-06-20 03:11:37

4 réponses

Beaucoup d'options.

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

Il y a aussi des couleurs de motif et des couleurs d'ombrage, mais celles-ci sont beaucoup moins simples.

23
répondu Mark Storer 2015-10-01 19:36:51

Affichage, dans l'espoir que quelqu'un va trouver cette réponse utile.

il semble qu'on puisse créer un nouveau BaseColor à partir de WebColor:

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

qui peut alors être ajouté comme arrière-plan comme:

cell.setBackgroundColor(myColor);
46
répondu JAM 2016-08-17 10:29:39

essaye ceci:

cell.setBackgroundColor(new BaseColor(226, 226, 226));

ou:

cell.setBackgroundColor(WebColors.getRGBColor("#E2E2E2")); deprecated

1
répondu Tony Chen 2016-12-28 19:58:09

une autre solution est:

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));
0
répondu Sagar Shah 2014-11-03 12:13:28