iTextSharp - 段落线高度

时间:2015-02-05 07:23:23

标签: c# pdf pdf-generation itextsharp typography

我目前正在处理PDF,但我正面临着尝试增加Paragraph的行高的问题,这是我现在的代码:

var tempTable = new PdfPTable(1);

cell = new PdfPCell(new Paragraph("My Account", GetInformationalTitle()));
cell.Border = Rectangle.NO_BORDER;
tempTable.AddCell(cell);

cell = new PdfPCell(new Paragraph("http://www.google.com/", GetInformationalOblique()));
cell.Border = Rectangle.NO_BORDER;
cell.PaddingBottom = 10f;
tempTable.AddCell(cell);

var para = new Paragraph("Login to 'My Account' to access detailed information about this order. " +
"You can also change your email address, payment settings, print invoices & much more.", GetInformationalContent());
 para.SetLeading(0f, 2f);

 cell = new PdfPCell(para);
 cell.Border = Rectangle.NO_BORDER;
 tempTable.AddCell(cell);

从上面可以看出,我试图提高para的行高,我已尝试过para.SetLeading(0f, 2f),但仍然没有增加行高或者称为领导。

这可能是什么问题?

1 个答案:

答案 0 :(得分:5)

您要在文本模式中添加para,而不是在复合模式中添加它。文本模式意味着PdfPCell的前导将优先于为Paragraph定义的前导。使用复合模式,反之亦然。

您只需稍加更改即可解决此问题:

cell = new PdfPCell();
cell.addElement(para);
tempTable.AddCell(cell);

使用addElement()方法使cell从文本模式切换到复合模式。