2009-05-18 2 views
5

Я использую iTextSharp для создания некоторых файлов PDF. У меня есть две таблицы, у которых есть контент, и я хочу разместить некоторое пространство между двумя таблицами, например, эквивалентно 1 строке текста (используя тот же шрифт, что и таблицы вокруг пространства).iTextSharp Вертикальный интервал

Ниже приведен код, который я использую для добавления двух таблиц. Я не могу понять, как разместить вертикальное пространство между двумя таблицами.

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

Может ли кто-нибудь сказать мне, как я могу добавить вертикальное пространство между двумя таблицами?

Спасибо!

ответ

2

Я нашел решение такого рода работ ... добавьте новые строки как часть предыдущей строки или следующую строку в пространство, которое я хочу создать. Например:

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

бы вызвать 2 линии, высота которых определяется font3 быть добавлен между "some text" и "some other text"

12

использования PdfPTable вместо этого. Он имеет свойства SpacingBefore и SpacingAfter

Например:

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

Вопрос был в 2009 году iTextSharp имел 'Table' объект до 4.3.x, и от версии 5.x на, это' PdfPTable' –