3

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

请大家帮帮我。提前致谢..

4

2 回答 2

15

你需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示例和生成的 PDF 文档

setBackground()您可以使用稍微不同的方法微调矩形:http: //api.itextpdf.com/itext/com/itextpdf/text/Chunk.html#setBackground%28com.itextpdf.text.BaseColor,%20float,% 20float,%20float,%20float%29

于 2013-11-14T11:43:16.660 回答
3

更新到 2021 年 2 月和 iText7。

可以直接设置段落的背景颜色:

生成一个Color()对象(本例中为 RGB)

Color bColor = new DeviceRgb(250, 210, 73);

Paragraph给元素设置颜色

paragraphObj.setBackgroundColor(bColor);

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

于 2021-02-11T09:27:17.227 回答