2009-11-05 6 views
8

iText에서 바운딩 상자에 여러 줄 문자를 추가하는 방법을 알고 계십니까? 테두리 상자에 여러 줄 문자를 반복 입력하십시오.

나는
cb.showTextAligned(
    PdfContentByte.ALIGN_LEFT, 
    text, 
    bounds.getLeft(), 
    TOTAL_HEIGHT-bounds.getTop(), 
    0); 

을 시도하지만 줄 바꿈을 지원하지 않습니다. 는 또한
PdfContentByte cb = writer.getDirectContent(); 
cb.moveText(300,400); 
document.add(new Paragraph("TEST paragraph\nNewline")); 

이 줄 바꿈을 지원하지만 moveText에 반응하지 않는

을 시도, 그래서 주어진 위치 이상에 넣어하는 방법을 모른다 : 경계 상자.

청크 또는 PdfTemplate이 의심 스럽거나 테이블이 도움이 될지 모르겠지만 어떻게 조합 할 지 아직 알지 못합니다. 도움을 청하기 위해서.

답변

19

이 시도 : SetSimpleColumn의

ColumnText ct = new ColumnText(cb); 
Phrase myText = new Phrase("TEST paragraph\nAfter Newline"); 
ct.setSimpleColumn(myText, 34, 750, 580, 317, 15, Element.ALIGN_LEFT); 
ct.go(); 

파라미터는 :

  1. 좌하 X 코너 (왼쪽)
  2. 좌하 Y 상단 (하단)
  3. 오른쪽 상단 x 코너 (오른쪽)
  4. 오른쪽 상단 y 코너 (상단)
  5. 라인 높이 (선행)
  6. 정렬.
+0

감사합니다. 실제로 레이아웃과 자동 피팅 및 테이블을위한 미니 라이브러리를 작성했습니다.이 라이브러리에는 작성한 내용이 포함되어 있습니다. – KarolDepka

+0

덕분에 많은 매력을했습니다! – talha06

+0

상자 너비, 상자 높이는 무엇을 의미합니까? –

1
ColumnText ct = new ColumnText(content); 
ct.setSimpleColumn(
    new Phrase("Very Long Text"), 
    left=20, bottom=100, right=500, top=500, 
    fontSize=18, Element.ALIGN_JUSTIFIED); 
ct.go(); // for drawing