2009-11-05 17 views
8

Czy ktoś wie, jak, w iText, dodać tekst wielowierszowy w ramce ograniczającej (z określonymi współrzędnymi).itext tekst wielowierszowy w ramce ograniczającej

Próbowałem

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

Ale to nie obsługuje znaki nowej linii. Próbowałem też

PdfContentByte cb = writer.getDirectContent(); 
cb.moveText(300,400); 
document.add(new Paragraph("TEST paragraph\nNewline")); 

obsługuje znaki nowej linii, ale nie reaguje na moveText, więc nie wiem jak umieścić go na danym stanowisku lub lepiej: Obwiednia.

Podejrzewam, że porcje lub PdfTemplate, a może tabela może pomóc, ale ja (jeszcze) nie wiem, jak to złożyć. TIA o pomoc.

Odpowiedz

19

Spróbuj:

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

parametry SetSimpleColumn są:

  1. wyrażenie
  2. lewy dolny x rogu (lewy)
  3. lewy dolny r rogu (na dole)
  4. górny prawy x róg (z prawej)
  5. górny prawy róg (góra)
  6. wysokość linii (prowadzącej)
  7. wyrównanie.
+0

Dzięki. Właściwie napisałem mini-bibliotekę do układów i automatycznego dopasowania i tabel, która zawiera rzeczy, które napisałeś w swojej odpowiedzi. – KarolDepka

+0

wielkie dzięki, działał jak czar! – talha06

+0

Co oznacza szerokość pudełka, wysokość pudełka? –

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 
Powiązane problemy