Существуют различные способы достижения желаемого. Позвольте мне начать с того, что я считаю самым простым способом. Если у вас есть Paragraph
и вы хотите, чтобы следовать каким-то дополнительное пространство, вы можете использовать SpacingAfter
функциональность:
Paragraph label1 = new Paragraph("Header");
label1.SpacingAfter = 15;
Paragraph label2 = new Paragraph("Footer");
document.Add(label1);
document.Add(label2);
Как вы можете видеть, я разделить label
на два объекта. Факт в том, что каждый объект Paragraph
имеет , ведущий. Это , ведущее, определяет пространство между строками, и оно одинаково для каждой строки в Paragraph
. Он может быть выражен как (комбинация) абсолютного расстояния и относительного расстояния в зависимости от размера шрифта. См ответ Криса Хааса на вопрос Reduce paragraph line break height on iTextSharp
Если heading
и footer
состоят из одной строки, можно уменьшить пространство, занятую Chunk.NEWLINE
за счет снижения стоимости ведущих. Например:
Phrase heading = new Phrase("Header");
Phrase footer= new Phrase("Footer");
Paragraph label = new Paragraph();
label.Leading = 12;
label.Add(heading);
label.Add(Chunk.NEWLINE);
label.Add(footer);
Недостатком этого метода является то, что расстояние между двумя строками текста также будет уменьшено. Например: если heading
состоит из гораздо более длинного текста, линии будут разделены, и расстояние между этими линиями также будет уменьшено.
Вы также можете работать с комбинацией обоих решений. Например: разделите ваш Paragraph
на три части: heading
, новый фрагмент строки и footer
. Оберните новый кусок линии в отдельный Paragraph
с небольшим ведущим.
Примечание: все измерения в формате PDF выражены в пользовательских единицах. По умолчанию в одном дюйме имеется 72 пользовательских устройства. Другими словами: ведущий из 12 пользовательских устройств составляет 1/6 дюйма.