web-dev-qa-db-fra.com

Comment définir la couleur d'arrière-plan d'une cellule de tableau à l'aide d'iText?

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

Je me demande comment puis-je 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);
...
25
JAM

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 existe également des couleurs de motif et des couleurs d'ombrage, mais elles sont beaucoup moins simples.

25
Mark Storer

En postant, dans l’espoir, une autre personne trouvera cette réponse utile.

Il semble que l'on puisse créer une nouvelle BaseColor à partir de WebColor en tant que:

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

Ce qui peut ensuite être ajouté comme fond comme:

cell.setBackgroundColor(myColor);
46
JAM

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
Sagar Shah