2017-02-14 4 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

텍스트가 표시되지 않는 코드에 몇 가지 문제가 있습니다.

첫째, 텍스트를 추가 한 후 캔버스에 사각형을 추가합니다. 회색 배경은 그려진 텍스트를 감추고 숨 깁니다.

두 번째로 글꼴 크기가 너무 커서 열 경계가 표시되지 않으므로 텍스트가 표시되지 않습니다. 사각형을 크게 만들 수 있으며 텍스트는 글꼴 크기를 표시하거나 줄입니다. 나는 사각형의 높이를 증가하고 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의 텍스트 크기, 그것은 효과가! –

관련 문제