我正在使用iText 7,并且试图设置pdf表的背景颜色。
Cell cell = new Cell(1, 3)
.add((IBlockElement) new Paragraph("This is a header"))
.setFont(f)
.setFontSize(13)
.setFontColor(DeviceGray.WHITE)
.setBackgroundColor(DeviceGray.BLACK)
.setTextAlignment(TextAlignment.CENTER);
但是DeviceGray.WHITE和DeviceGray.BLACK给出错误,指出它们不兼容。该消息表明setBackgroundColor(com.itextpdf.kernel.colors.color)无法应用于com.itextpdf.kernel.color.DeviceGray
我也有以下进口商品
import com.itextpdf.io.font.constants.StandardFonts;
import com.itextpdf.kernel.color.DeviceGray;
import com.itextpdf.kernel.font.PdfFont;
import com.itextpdf.kernel.font.PdfFontFactory;
import com.itextpdf.kernel.geom.PageSize;
import com.itextpdf.kernel.pdf.PdfDocument;
import com.itextpdf.kernel.pdf.PdfWriter;
import com.itextpdf.layout.Document;
import com.itextpdf.layout.element.Cell;
import com.itextpdf.layout.element.IBlockElement;
import com.itextpdf.layout.element.Paragraph;
import com.itextpdf.layout.element.Table;
import com.itextpdf.layout.property.TextAlignment;
import com.itextpdf.layout.property.UnitValue;
我意识到问题的原因是io,内核和布局的混合版本。将它们全部设置为7.1.10即可。