在PdfPCell / Paragraph Weirdness中设置字体颜色

时间:2017-12-03 14:39:26

标签: java colors itext paragraph

我遇到了我认为设置颜色的奇怪问题。以下代码有效:

Font nameFont=new Font(FontFamily.TIMES_ROMAN, 20.f, Font.BOLD,new BaseColor(mon.getColor().getRGB()));
Paragraph name=new Paragraph(mon.getName(),nameFont);
PdfPCell c=new PdfPCell(name);

但是,此代码不起作用(它使用前一个单元格的颜色):

Font nameFont=new Font(FontFamily.TIMES_ROMAN, 20.f, Font.BOLD,new BaseColor(mon.getColor().getRGB()));
Paragraph name=new Paragraph(mon.getName());
name.setFont(nameFont);
PdfPCell c=new PdfPCell(name);

有人可以解释为什么会这样吗? TIA。

1 个答案:

答案 0 :(得分:1)

设置段落的字体更改其中所有文本的字体,它仅设置用于进一步添加的默认字体。那么,你的

Paragraph name=new Paragraph(mon.getName());
name.setFont(nameFont);

保留现有内容mon.getName()的字体。如果您做了类似

的事情
name.add("some additional text");

此后,您会看到其他文字正在使用您的字体。

ParagraphPhrase继承此行为。