在iText PDF的矩形中填充颜色

时间:2016-12-22 17:21:54

标签: java pdf colors itext

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

除了Color之外,所有事情都很好。

1 个答案:

答案 0 :(得分:0)

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

您可以定义Rectangle对象的背景颜色:

rect.setBackgroundColor(BaseColor.YELLOW);

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

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