C# iTextSharp将字体族设置为块

C# iTextSharp将字体族设置为块,c#,itextsharp,font-family,C#,Itextsharp,Font Family,因为我使用动态文本,斜体或粗体文本可以是任意位置,所以不能将所有内容切成块,所以我必须使用html解析器 输入字符串为 ąčęėįšųū90-žthis <i>is <b>bold ąčęėįšųū90-ž</i></b> text 在PdfFontManager类中: public static Font GetFont(string name, int size) { BaseFont baseFont = BaseF

因为我使用动态文本,斜体或粗体文本可以是任意位置,所以不能将所有内容切成块,所以我必须使用html解析器

输入字符串为

ąčęėįšųū90-žthis <i>is <b>bold ąčęėįšųū90-ž</i></b> text
在PdfFontManager类中:

public static Font GetFont(string name, int size)
    {
        BaseFont baseFont = BaseFont.CreateFont(name, BaseFont.CP1257, BaseFont.EMBEDDED);
        Font font = new Font(baseFont, size);
        return font;
    }

那么,如何设置字体系列,或者也许有另一种方法可以对我的文本进行动态格式化?

请参阅我在这里发布的关于为HTML解析器注册Unicode字体的文章。具体来说,如果您做了前三件事,您的代码应该开始输出正确的PDF。谢谢。你的解决方案对我帮助很大。
Paragraph pr1 = CreateSimpleHtmlParagraph("ąčęėįšųū90-žthis <i>is <b>bold ąčęėįšųū90-ž</i></b> text");
doc.Add(pr1);
Font arial10n = PdfFontManager.GetFont("c:\\windows\\fonts\\arial.ttf", 10);

colClientTxt.AddText(new Chunk(row["name"].ToString() + "\n", arial10n));
public static Font GetFont(string name, int size)
    {
        BaseFont baseFont = BaseFont.CreateFont(name, BaseFont.CP1257, BaseFont.EMBEDDED);
        Font font = new Font(baseFont, size);
        return font;
    }