iTextSharp Вертикальный интервал - PullRequest
5 голосов
/ 18 мая 2009

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

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

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 ]

12 голосов
/ 22 марта 2012

Используйте взамен PdfPTable. Имеет свойства SpacingBefore и SpacingAfter

Например:

PdfPTable upperTable = new PdfPTable(1);
upperTable.AddCell(new Phrase("some text", font3));
upperTable.SpacingAfter = 10f;
2 голосов
/ 19 мая 2009

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

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"

...