【问题标题】:How to set the paragraph of itext pdf file as rectangle with background color in Java如何在Java中将itext pdf文件的段落设置为具有背景颜色的矩形
【发布时间】:2013-11-27 09:15:57
【问题描述】:

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

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

【问题讨论】:

    标签: java pdf fonts itext


    【解决方案1】:

    更新至 2021 年 2 月和 iText7。

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

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

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

    将颜色设置为Paragraph 元素

    paragraphObj.setBackgroundColor(bColor);
    

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

    【讨论】:

      【解决方案2】:

      您需要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

      【讨论】:

      • 感谢先生的回答,现在矩形即将到来,但总成本:" + dbsumcallcost 不在矩形中
      • 这很奇怪。我会尝试做一个例子。给我一点时间。
      • 我已经用一个例子更新了我的答案。您可以清楚地看到红色背景上的白色文字。你确定你对文本和背景使用不同的颜色吗?
      猜你喜欢
      • 2016-03-04
      • 2011-08-14
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 2016-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多