首页 > 解决方案 > 是否可以将 ARGB 背景颜色设置为 IText PDF 单元格?

问题描述

在 iText PDF 中,我们可以将背景颜色设置为这样的单元格

PdfPCell cell = buildCell(phrase, displayType, col);
cell.setBackgroundColor(new java.awt.Color(33, 150, 243, 153));

但事实证明,iText 忽略了java.awt.Color不透明度。

有没有办法做到这一点?

标签: javaitextawt

解决方案


iText 5.5.7 中添加了对透明单元格背景颜色的支持,更准确地说是在 git commit 09ccaa728830a404e92fc3040dd3626198576fef 中。

但是,您似乎使用的是较旧的 iText 版本,正如您使用 ajava.awt.Color而不是 a所表明的那样com.itextpdf.text.BaseColor

根据 iText 的确切版本,您可以尝试使用PdfPCellEvent实现而不是使用setBackgroundColor. 在该实现中,您必须首先保存图形状态,然后设置PdfGState透明度,用颜色填充单元格矩形,然后再次恢复图形状态。


推荐阅读