2009-05-18 24 views
5

Estoy usando iTextSharp para generar algunos archivos PDF. Tengo dos tablas que tienen contenido, y quiero poner algo de espacio entre las dos tablas, digamos el equivalente a 1 línea de texto (usando la misma fuente que las tablas alrededor del espacio).Espaciado vertical iTextSharp

A continuación se muestra el código que estoy usando para agregar las dos tablas. Lo que no puedo entender es cómo colocar un espacio vertical entre las dos tablas.

Table upperTable = new Table(1); 
upperTable.Border = Rectangle.NO_BORDER; 
upperTable.DefaultCell.Border = Rectangle.NO_BORDER; 
upperTable.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER; 
upperTable.AddCell(new Phrase("some text", font3)); 
d.Add(upperTable); 
Table lowerTable= new Table(1); 
lowerTable.Border = Rectangle.NO_BORDER; 
lowerTable.DefaultCell.Border = Rectangle.NO_BORDER; 
lowerTable.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER; 
lowerTable.AddCell(new Phrase("some other text", font3)); 
d.Add(lowerTable); 

¿Alguien me puede decir cómo puedo agregar el espacio vertical entre las dos tablas?

Gracias!

Respuesta

2

Encontré una solución que funciona de alguna manera ... agregue las nuevas líneas como parte de la cadena anterior, o la siguiente cadena para el espacio que quiero crear. Por ejemplo:

Table upperTable = new Table(1); 
upperTable.Border = Rectangle.NO_BORDER; 
upperTable.DefaultCell.Border = Rectangle.NO_BORDER; 
upperTable.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER; 
upperTable.AddCell(new Phrase("some text" + '\n', font3)); 
d.Add(upperTable); 
Table lowerTable= new Table(1); 
lowerTable.Border = Rectangle.NO_BORDER; 
lowerTable.DefaultCell.Border = Rectangle.NO_BORDER; 
lowerTable.DefaultCell.HorizontalAlignment = Element.ALIGN_CENTER; 
lowerTable.AddCell(new Phrase('\n' + "some other text", font3)); 
d.Add(lowerTable); 

causaría 2 líneas cuya altura está definida por font3 que se añade entre el "some text" y "some other text"

12

Uso PdfPTable su lugar. Tiene propiedades SpacingBefore y SpacingAfter

Por ejemplo:

PdfPTable upperTable = new PdfPTable(1); 
upperTable.AddCell(new Phrase("some text", font3)); 
upperTable.SpacingAfter = 10f; 
+4

La pregunta fue de 2009. iTextSharp tenía el objeto 'Table' hasta 4.3.x, ya partir de la versión 5.x en adelante, es' PdfPTable' –