如何在Java中将itext pdf文件的段落设置为带背景颜色的矩形

时间:2013-11-14 11:20:22

标签: java pdf fonts itext

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

请伙计们帮助我。 提前谢谢..

2 个答案:

答案 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);

花了一些时间寻找这个,希望它可以帮助某人。