2009-11-05 29 views
8

¿Alguien sabe cómo, en iText, agregar texto multilínea en recuadro delimitador (con las coordenadas especificadas).texto itext multiline en cuadro delimitador

me trataron

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

Pero no es compatible con los saltos de línea. También probé

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

Esto apoya los saltos de línea, pero no reacciona a moveText, por lo que no saben cómo ponerlo en la posición dada o mejor: el cuadro delimitador.

Sospecho que los trozos o PdfTemplate o tal vez la tabla pueden ayudar, pero aún no sé cómo unirlos. TIA por ayuda.

Respuesta

19

Prueba esto:

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

parámetros de SetSimpleColumn son:

  1. la frase
  2. la x izquierda esquina inferior (izquierda)
  3. la parte inferior izquierda y la esquina (abajo)
  4. la esquina superior derecha x (derecha)
  5. esquina superior derecha y (arriba)
  6. altura de línea (inicial)
  7. alineación.
+0

Thanks. De hecho, escribí una mini biblioteca para diseños y autoajuste y tablas, que incorpora cosas que ha escrito en su respuesta. – KarolDepka

+0

muchas gracias, trabajado como un encanto! – talha06

+0

¿Qué significa el ancho de la caja, la altura de la caja? –

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 
Cuestiones relacionadas