我找不到一个解决方案来回答一个非常简单的问题,在Java代码中如何使用iText7设置文本/线条/等的自定义颜色?
我找到了这个iText5的回复,但在版本7中,没有BaseColor类...
我找不到一个解决方案来回答一个非常简单的问题,在Java代码中如何使用iText7设置文本/线条/等的自定义颜色?
我找到了这个iText5的回复,但在版本7中,没有BaseColor类...
我使用这段代码来自定义文本颜色:
com.itextpdf.kernel.color.Color myColor = new DeviceRgb(255, 100, 20);
Paragraph colorPara = new Paragraph("text with color").setFontColor(myColor);
一种选择是使用ColorConstants
。它位于内核依赖项中。
PdfCanvas canvas = new PdfCanvas(pdfPage);
canvas.setColor(ColorConstants.DARK_GRAY, true);
Cell hcell = new Cell();
Paragraph paragraph = new Paragraph("Your Text").setTextAlignment(TextAlignment.CENTER).setFontSize(8);
hcell.add(paragraph);
Color color = WebColors.getRGBColor("red"); // Color name to RGB
hcell.setBackgroundColor(color);
WebColors.GetRGBColor("red")
或者WebColors.GetRGBColor("#FF0000")
都可以正常工作。但是由于某种原因,Color.MakeColor(new PdfDeviceCs.Rgb(), new [] {31f,141f,71f})
无法正常工作。 - Henryk Budzinski float[] col = new float[]{0,0.5f,0};
Color szin = Color.makeColor(Color.GREEN.getColorSpace(), col);
Canvas canvas = new Canvas(pdfCanvas, pdfDoc, page.getPageSize());
canvas.setProperty(Property.FONT_COLOR, szin);
LOGGER.info(Color.GREEN.getColorSpace().getPdfObject());
另一个大问题是,如何设置浮点数值。对于深绿色的逻辑提示是 62、172、62,但我什么都没看到。我必须意识到,在结果颜色中,0 表示 0,但任何大于 1 的数字表示 255,因此尝试设置在 0 和 1 之间的值,然后我赢得了奖金! test color 1 的值为 {1,0.5f,0} test color 2 的值为 {0,0.5f,0}信息:2464035 [http-listener-1(3)] INFO fornax.hu.pdf.generate.PdfCreator2 - /DeviceRGB