2016-12-22 3 views
1

Мне нужно отобразить столбец с двумя строками и пустой строкой между ним, Ниже приведен фрагмент, который я использую.Отрегулируйте высоту Chunk.NewLine ItextSharp C#

Pharse heading = new Pharse("Header"); 
Pharse footer= new Pharse("Footer"); 

Paragraph label = new Paragraph(); 
label.Add(heading); 
label.Add(Chunk.NEWLINE); 
label.Add(footer); 

Однако я заметил, что высота пустых линий слишком велика. Как я могу уменьшить его?

ответ

1

Существуют различные способы достижения желаемого. Позвольте мне начать с того, что я считаю самым простым способом. Если у вас есть 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 дюйма.

Смежные вопросы