C# 调整Chunk.NewLine itextc的高度#
我必须显示一列,其中有两个字符串,两个字符串之间有一条空行,下面是我正在使用的代码段C# 调整Chunk.NewLine itextc的高度#,c#,itext,C#,Itext,我必须显示一列,其中有两个字符串,两个字符串之间有一条空行,下面是我正在使用的代码段 Pharse heading = new Pharse("Header"); Pharse footer= new Pharse("Footer"); Paragraph label = new Paragraph(); label.Add(heading); label.Add(Chunk.NEWLINE); label.Add(footer); 但是,我注意到空行的高度太大了。我怎样才能减少它呢?有不同
Pharse heading = new Pharse("Header");
Pharse footer= new Pharse("Footer");
Paragraph label = new Paragraph();
label.Add(heading);
label.Add(Chunk.NEWLINE);
label.Add(footer);
但是,我注意到空行的高度太大了。我怎样才能减少它呢?有不同的方法来实现你想要的。让我从我认为最简单的方法开始。如果您有一个
段落
,并且希望它后面有一些额外的空间,您可以使用SpacingAfter
功能:
Paragraph label1 = new Paragraph("Header");
label1.SpacingAfter = 15;
Paragraph label2 = new Paragraph("Footer");
document.Add(label1);
document.Add(label2);
如您所见,我将标签
拆分为两个对象。事实上,每个段落对象都有一个前导。这个前导定义了行与行之间的间距,并且它对于段落中的每一行都是相同的。它可以表示为(组合)基于字体大小的绝对距离和相对距离。参见Chris Haas对问题的回答
如果标题
和页脚
由一行组成,则可以通过减少前导的值来减少块.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);
这种方法的缺点是,两行文字之间的距离也会缩短。例如:如果标题
包含更长的文本,则行将被拆分,并且这些行之间的距离也将减小
您还可以同时使用这两种解决方案。例如:将段落
分为三部分:标题
、新行块和页脚
。用一个小的前导将新行块包装成一个单独的段落
注意:PDF中的所有测量值均以用户单位表示。默认情况下,一英寸中有72个用户单位。换言之:12个用户单位的前导为1/6英寸