如何对Itextsharp中的文本部分进行粗体处理

时间:2016-04-20 08:34:32

标签: java itextsharp

请您在下面给出的代码中提供建议,使其成为粗体。如何使大胆的文字'左'和'右'

FileStream fs = new FileStream("Chapter1_Example1.pdf",
    FileMode.Create, FileAccess.Write, FileShare.None);
Document doc = new Document();
PdfWriter writer = PdfWriter.GetInstance(doc, fs);
doc.Open();
Chunk glue = new Chunk(new VerticalPositionMark());
Paragraph p = new Paragraph("Text to the left");
p.Add(new Chunk(glue));
p.Add("Text to the right");
doc.Add(p);
doc.Close();

1 个答案:

答案 0 :(得分:0)

您没有定义字体,因此使用默认字体Helvetica。如果您想使用粗体字体,则需要为Font创建Paragraph对象。

例如:

Font boldFont = FontFactory.GetFont(FontFactory.HELVETICA_BOLD, 12);
Paragraph p = new Paragraph("Text to the left", boldFont);

如果您只想将两个单词加粗,则需要将Paragraph拆分为不同Chunk个不同字体的对象。官方网站上对此进行了解释:How can I use regular and bold in a single String?

这是一个简单的例子(注意有不同的方法来创建Font对象):

Font regular = new Font(FontFamily.HELVETICA, 12);
Font bold = Font font = new Font(FontFamily.HELVETICA, 12, Font.BOLD);
Paragraph p = new Paragraph("NAME: ", bold);
p.Add(new Chunk("Pol", regular));