2011-06-19 284 views
22

雖然它當然可以使用BaseColor,但默認情況下,它提供的選擇非常有限。如何使用iText設置表格單元的背景顏色?

我不知道如何將我自己的自定義顏色添加到文檔?

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

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

回答

20

很多的選擇。

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 

還有圖案的顏色和陰影顏色,但那些更簡單。

44

發帖,希望別人會發現此回覆有用。

這似乎可以從WebColor創建一個新的BaseColor爲:

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

,然後可以添加一個背景:

cell.setBackgroundColor(myColor); 
+0

非常實用和簡單得多了。謝謝! – silver

+0

出於某種原因,我的背景顏色默認設置爲#00FFFF,並且不想改變爲我想要的顏色設置:/我認爲已經改變了新的itext夏普,但這裏是我寫的:BaseColor bblue = WebColors.GetRGBColor(「#006EB6」); headerCell.BackgroundColor.Equals(bblue);但BackgroundColor仍然設置爲默認值..我找不到setBackgroundColor僅BackgroundColor。 –

+2

WebColors現在已經過時了,你知道現在這樣做的方式,還是應該忽略它的過時性(因爲iTextSharp似乎使大部分我用它過時)? –

0

還有一個解決辦法是:

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

試試這個:
cell.setBackgroundColor(new BaseColor(226, 226, 226));
或:
cell.setBackgroundColor(WebColors.getRGBColor("#E2E2E2"));棄用

相關問題