2009-11-05 57 views
8

Có ai biết, làm thế nào để, trong iText, thêm văn bản đa dòng trong hộp giới hạn (có tọa độ được chỉ định).văn bản nhiều dòng văn bản trong hộp giới hạn

tôi đã cố gắng

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

Nhưng nó không hỗ trợ dòng mới. Tôi cũng đã cố gắng

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

này hỗ trợ dòng mới nhưng không phản ứng với moveText, vì vậy tôi không biết làm thế nào để đặt nó ở được vị trí hoặc tốt hơn: bounding hộp.

Tôi nghi ngờ các đoạn hoặc PdfTemplate hoặc có thể bảng có thể hữu ích, nhưng tôi chưa biết cách đặt nó lại với nhau. TIA để được giúp đỡ.

Trả lời

19

Hãy thử điều này:

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

thông số của SetSimpleColumn là:

  1. cụm từ
  2. phía dưới bên trái x góc (trái)
  3. phía dưới bên trái y góc (dưới)
  4. góc trên bên phải x (bên phải)
  5. góc trên bên phải (trên cùng)
  6. chiều cao dòng (hàng đầu)
  7. căn chỉnh.
+0

Cảm ơn. Tôi thực sự đã viết một thư viện nhỏ cho bố trí và tự động lắp và bảng, trong đó kết hợp những điều bạn đã viết trong phản ứng của bạn. – KarolDepka

+0

cảm ơn rất nhiều, đã làm việc như một sự quyến rũ! – talha06

+0

Chiều rộng hộp, chiều cao hộp có ý nghĩa gì? –

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 
Các vấn đề liên quan