首页 > 解决方案 > itext DeviceGrey 与 Java 项目中的 setBackgroundColor 不兼容

问题描述

我正在使用 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;

标签: javapdfitext

解决方案


我意识到我的问题的原因是混合了 io、内核和布局的版本。将它们全部设置为 7.1.10 即可。


推荐阅读