web-dev-qa-db-ja.com

iTextを使用してテーブルセルの背景色を設定する方法は?

もちろんBaseColorを使用することも可能ですが、デフォルトでは非常に限られた選択肢しか提供しません。

独自のカスタムカラーをドキュメントに追加するにはどうすればよいですか?

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

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

たくさんのオプション。

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

パターンの色と濃淡の色もありますが、それらははるかに単純です。

27
Mark Storer

投稿。他の誰かがこの応答に役立つことを期待して。

次のように、WebColorから新しいBaseColorを作成できるようです。

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

その後、次のように背景として追加できます。

cell.setBackgroundColor(myColor);
46
JAM

これを試して:
cell.setBackgroundColor(new BaseColor(226, 226, 226));
または:
cell.setBackgroundColor(WebColors.getRGBColor("#E2E2E2"));非推奨

1
Tony Chen

もう1つの解決策は次のとおりです。

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