iTextSharp - C# - 使字体变为粗体和下划线

时间:2016-01-28 06:44:11

标签: c# fonts itextsharp

这是我试图制作粗体和带下划线的文字的代码。

Font header = new Font(Font.FontFamily.TIMES_ROMAN, 15f, Font.BOLD, BaseColor.BLACK);
header.SetStyle(Font.UNDERLINE);

但我得到的只是下划线而不是大胆。有什么方法可以得到下划线和粗体字体吗?

4 个答案:

答案 0 :(得分:11)

尝试以下方法:

Font header = new Font(Font.FontFamily.TIMES_ROMAN, 15f, Font.BOLD | Font.UNDERLINE, BaseColor.BLACK);

答案 1 :(得分:6)

作为使用Font为文本加下划线的替代方法,您还可以使用setUnderline()类可用的Chunk方法。当您使用Joachim Isaksson的答案中解释的解决方案时,您可以选择线的线宽,也可以选择与文本基线的距离。 setUnderline()方法为您提供了所有自由。

阅读我对问题How to strike through text using iText?的回答以获取更多信息。

看看这些例子:

Chunk chunk1 = new Chunk("0123456789");
chunk1.SetUnderline(2, -3);
document.Add(new Phrase(chunk1));
Chunk chunk2 = new Chunk("0123456789");
chunk2.SetUnderline(2, 3);
document.Add(new Phrase(chunk2));

在这两种情况下,绘制的线条将是2个用户单位厚度,而不是默认的1个用户单位。在chunk1中,该行将在文本下绘制3个用户单元(这是下划线功能)。在chunk2中,该行将在基线上方绘制(这是删除功能)。

答案 2 :(得分:3)

我用过这样的话:

Dim font8Underline As Font = FontFactory.GetFont("ARIAL", 8, Font.BOLD)
font8Underline.SetStyle(Font.UNDERLINE)

答案 3 :(得分:0)

粗体

Font1.SetStyle(1)

斜体

Font1.SetStyle(2)

粗体和斜体

Font1.SetStyle(3)

下划线

Font1.SetStyle(4)

粗体,斜体和下划线

Font1.SetStyle(7)

1 + 2 + 4 = 7