2014-12-22 2 views
1

를 사용하여 사각형에 단락을 추가하고이 방법을 PARAGRAPH3하도록 추가어떻게 문자가립니다, 나는이 개 단락을 만든 iText를

PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("NextLineTextPDF.pdf")); 
      document.open(); 
      PdfContentByte cb = writer.getDirectContent(); 

      cb.beginText(); 
      BaseFont bf = BaseFont.createFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED); 

      Font grey = new Font(bf,12f,0,Color.gray); 
      Chunk blueText = new Chunk(leading1, grey); 
      Font blue = new Font(bf,12f,0,Color.BLUE); 
      Chunk greenText = new Chunk(leading2, blue); 

      Paragraph p1 = new Paragraph(blueText); 
      Paragraph p2 = new Paragraph(greenText); 
      Paragraph p3 = new Paragraph(); 
      p3.add(blueText); 
      p3.add(greenText); 
      document.add(p3); 

      cb.endText(); 

을하지만 PARAGRAPH3는 내부 문자열이 lenghty 경우 문제가되는 및 문자열은 감싸 지거나 래핑되지 않습니다.

Trimming없이 내 문자열을 감싸기 위해 Paragraph3을 직사각형으로 묶을 수있는 방법이 있습니까?

+0

코드가 여러 단계에서 잘못되었습니다. 'cb.beginText()'와'cb.endText()'는 가장 낮은 (PDF 구문) 레벨의 절대 위치에 텍스트를 추가하기위한 것이지만, 텍스트를 추가하는'document.add(); ' 가장 높은 (iText'Element') 레벨. 그것은 마치 문서를 읽지 않고 임의의 코드 줄을 함께 던지기로 결정한 것입니다 ... –

답변

0

두 단락을 생성하고 세 번째 단락에 추가했습니다. 왜 물어 봐도 될까요?

그렇게 할 수는 있지만 이해가되지 않습니다. blueTextgreenText 청크로 구성된 Paragraph을 하나 만들거나 두 단락을 만들고 페이지에 순차적으로 추가합니다.

이 단락을 사각형에 추가하려고하지만 document.add(p)을 사용한다고 가정 해보십시오. 왜 물어 봐도 될까요?

document.add();을 사용하면 페이지의 크기와 여백에 따라 iText가 텍스트를 배치하도록 지시합니다.

예를 들어 직사각형과 같이 절대 위치에 텍스트를 추가하려면 두 가지 옵션이 있습니다.

이 질문에서와 같이 일련의 하위 수준 작업을 사용하면 어려운 작업을 수행 할 수 있습니다. 그러나 전문 지식 수준이 주어지면이 작업을 수행 할 것을 권장하지 않습니다. 내가 당신이라면, 나는 my answer to the question보고하고 ColumnText 개체를 사용합니다 : 사각형에 단락을 추가

는 다음과 같이 수행됩니다 rectangle는 사각형 곳의 좌표를 정의하는 Rectangle 목적은

경우를

ColumnText ct = new ColumnText(writer.getDirectContent()); 
ct.setSimpleColumn(rectangle); 
ct.addElement(p1); 
ct.addElement(p2); 
ct.go(); 

당신이 볼 수 있듯이, 세 번째 단락 필요가 없습니다 : 당신은 당신이 코드가 필요합니다, 두 단락을 추가 할. 그러나주의를 기울여 내용이 사각형에 맞는지 확인해야합니다. 당신이 구현 시작하기 전에 이러한 질문에 대한 답변을 읽어

이러한 질문은 책 "The Best iText Questions on StackOverflow"으로 선택되었다. 이 책은 무료로 제공됩니다. 직사각형을 그리는 방법을 설명하는 질문과 대답이 있습니다.이 직사각형은 실제로 여러분의 요구 사항 중 하나가되어야합니다.