如何在itextsharp中的段落下放置下划线

时间:2014-09-16 08:37:43

标签: asp.net vb.net itextsharp

我在当前项目中使用iTextSharp。我创建了一个带有下划线数据的表格,但我的要求如下图所示:

enter image description here

http://postimg.org/image/402ap3acf/

如何构建此类表格。

我需要以下结构。

    A/C Some text           TAT  Some text 
        -----------------        -----------------  

虚线是下划线。

1 个答案:

答案 0 :(得分:3)

下划线是通过Font对象控制的,如果您只想设置Paragraph的一部分加下划线,那么您将要使用Chunk

这是一个快速帮助方法,用于生成具有不同样式的字体。您可以将实际字体更改为您要使用的任何字体。

Private Shared Function CreateFont(size As Integer, Optional style As Integer = iTextSharp.text.Font.NORMAL) As iTextSharp.text.Font
    Return New iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, size, style)
End Function

style参数从此列表中获取您OR的整数:

iTextSharp.text.Font.NORMAL
iTextSharp.text.Font.BOLD
iTextSharp.text.Font.ITALIC
iTextSharp.text.Font.UNDERLINE
iTextSharp.text.Font.STRIKETHRU

正常的带下划线的文字将是:

iTextSharp.text.Font.NORMAL Or iTextSharp.text.Font.UNDERLINE

您可以像这样使用上述内容:

Dim P As New Paragraph()
P.Add(New Chunk("A/C ", CreateFont(12, iTextSharp.text.Font.NORMAL)))
P.Add(New Chunk("Some text", CreateFont(12, iTextSharp.text.Font.NORMAL Or iTextSharp.text.Font.UNDERLINE)))

修改

从iTextSharp的角度来看,"强调"表示"在文字下方绘制的一条线"。如果没有文字则不会成为下划线。但是,空格将计为文本,因此如果您想要继续使用下划线,则可以添加额外的空格:

Dim P As New Paragraph()
P.Add(New Chunk("A/C ", CreateFont(12, iTextSharp.text.Font.NORMAL)))
P.Add(New Chunk("Some text    ", CreateFont(12, iTextSharp.text.Font.NORMAL Or iTextSharp.text.Font.UNDERLINE)))