2017-02-14 21 views
0
PdfContentByte canvas = writer.getDirectContent(); 
Rectangle rect = new Rectangle(0, 805, 594, 820); 
rect.setBorder(Rectangle.BOX); 
rect.setBorderWidth(1); 
rect.setBackgroundColor(BaseColor.GRAY); 
rect.setBorderColor(BaseColor.GREEN); 

ColumnText ct = new ColumnText(canvas); 
ct.setSimpleColumn(rect); 
Font catFont = new Font(Font.FontFamily.TIMES_ROMAN, 18,Font.BOLD); 

ct.addElement(new Paragraph("Your Text Goes here!! ",catFont)); 
ct.go(); 
canvas.rectangle(rect); 

document.newPage(); 
document.close(); 

これは私のコードです、ここでは長方形にテキストを追加しようとしています。それは動作しませんでした!矩形は作成されますが、テキストはpdfページのどこにでも表示されません。itext5を使用してPDF内の矩形にテキストを追加する

答えて

1

あなたのコードには、テキストが表示されない問題がいくつかあります。

まず、テキストを追加した後にキャンバスに矩形を追加します。灰色の背景は、描画されたテキストを隠してしまいます。

第2に、フォントのサイズが列の境界線に対して大きすぎるため、テキストは表示されません。 長方形を大きくすることができ、テキストはフォントのサイズを表示または縮小します。私は、矩形の高さを増加し、ColumnText.go()の前にcanvas.rectangle()の呼び出しを移動しているよう

は、例えば、次のように動作するはずです:それは働いて@Palmr

Rectangle rect = new Rectangle(0, 780, 494, 820); 
rect.setBorder(Rectangle.BOX); 
rect.setBorderWidth(1); 
rect.setBackgroundColor(BaseColor.GRAY); 
rect.setBorderColor(BaseColor.GREEN); 
canvas.rectangle(rect); 

ColumnText ct = new ColumnText(canvas); 
ct.setSimpleColumn(rect); 
Font catFont = new Font(Font.FontFamily.TIMES_ROMAN, 18, Font.BOLD); 
ct.addElement(new Paragraph("Your Text Goes here!! ", catFont)); 
ct.go(); 
+1

おかげで、私は減少しました18から10のテキストのサイズ、それは働いた! –

関連する問題