我正在使用itext库设计一个pdf报告。我已经在其中实现了一个段落。现在根据我的要求我必须在带有背景颜色的矩形框内设置这个段落,但我无法做到..
这是我在java中的Itext代码...
Font f = new Font(FontFamily.TIMES_ROMAN, 25.0f, Font.BOLD, BaseColor.CYAN);
Paragraph p = new Paragraph("Total Cost:" + dbsumcallcost, f);
document.add(p);
请伙计们帮助我。 提前谢谢..
答案 0 :(得分:11)
您需要Chunk
来执行此操作:
Font f = new Font(FontFamily.TIMES_ROMAN, 25.0f, Font.BOLD, BaseColor.WHITE);
Chunk c = new Chunk("Total Cost:" + dbsumcallcost, f);
c.setBackground(BaseColor.RED);
Paragraph p = new Paragraph(c);
document.add(p);
请参阅ChunkBackground示例和resulting PDF document。
您可以使用稍微不同的setBackground()
方法微调矩形:http://api.itextpdf.com/itext/com/itextpdf/text/Chunk.html#setBackground%28com.itextpdf.text.BaseColor,%20float,%20float,%20float,%20float%29
答案 1 :(得分:2)
更新至 2021 年 2 月和 iText7。
可以直接设置段落的背景色:
生成一个 Color()
对象(本例中为 RGB)
Color bColor = new DeviceRgb(250, 210, 73);
为 Paragraph
元素设置颜色
paragraphObj.setBackgroundColor(bColor);
花了一些时间寻找这个,希望它可以帮助某人。