【问题标题】:Fill Color in Rectangle of iText PDF在 iText PDF 的矩形中填充颜色
【发布时间】:2016-12-22 17:21:53
【问题描述】:

我正在用 JAVA 制作一个项目,其中我正在使用 iText。现在在一个阶段我想为我的画布添加颜色我尝试了以下代码但它们不起作用

 PdfContentByte canvas = pdf.getDirectContent();
      Rectangle rect = new Rectangle(12,12,583,830);
           rect.setBorder(Rectangle.BOX);
           rect.setBorderWidth(1);
            canvas.rectangle(rect);
            canvas.setColorFill(BaseColor.YELLOW);
            canvas.fillStroke();

除了颜色,一切都正常。

【问题讨论】:

    标签: java pdf colors itext


    【解决方案1】:

    你正在混合两种不同的东西。

    要么定义Rectangle对象的背景颜色:

    rect.setBackgroundColor(BaseColor.YELLOW);
    

    或者你使用setColorFill()方法(和你一样),但是在这种情况下你需要使用rectangle()方法和矩形的坐标作为参数来构造路径。

    请注意,在后一种情况下使用setFillStroke() 是有意义的,但在前一种情况下则没有意义。在您的代码示例中,它没有意义,因为您使用的是 Rectangle 对象。

    【讨论】:

    • 我弄错了。现在请你再帮我一件事:我在矩形中得到了颜色,但它出现在矩形中的文本之上。我正在使用 Paragraph() 添加文本。那么如何在文本下方添加文本 @Bruno Lowagie
    • 现在你有这个:PdfContentByte canvas = pdf.getDirectContent(); 将该行更改为PdfContentByte canvas = pdf.getDirectContentUnder();,矩形将出现在现有文本的下方
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-03
    • 2015-06-07
    • 2012-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    相关资源
    最近更新 更多