2016-12-22 123 views
0

的矩形填充顏色我在JAVA做的一個項目中,我與iText的工作。現在,在一個階段,我想增添色彩我的畫布我嘗試以下代碼,但他們沒有工作在iText的PDF

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(); 

除了顏色的所有東西都工作正常。

回答

0

你混合2米不同的東西。

要麼你定義Rectangle對象的背景色:

rect.setBackgroundColor(BaseColor.YELLOW); 

或者你使用setColorFill()方法(如你這樣做),但在這種情況下,你需要使用rectangle()法的座標矩形作爲參數來構造路徑。在使用setFillStroke()

注意使在後一種情況下的意義,但它並不在前者的情況下才有意義。在您的代碼示例,因爲您使用的是Rectangle對象時,它沒有任何意義。

+0

我得到了我的錯誤。現在,請你能幫助我做更多的事情:我在矩形中獲得了顏色,但它在矩形中出現的文本之上。 。我加入使用第()文本,如何使它下面的文本@Bruno Lowagie –

+0

現在你有這樣的:'PdfContentByte帆布= pdf.getDirectContent();'更改該行到'PdfContentByte帆布= pdf.getDirectContentUnder() ;'並且矩形將出現在現有文本下。 –