Itextsharp为IElement设置字体

Ale*_*lex 5 c# itextsharp html-to-pdf

 var htmlarraylist = HTMLWorker.ParseToList(new StringReader(htmlText), styles);

                document.Open();


BaseFont Vn_Helvetica = BaseFont.CreateFont(@"C:\Windows\Fonts\arial.ttf", 
"Identity-H", BaseFont.EMBEDDED);

Font fontNormal = new Font(Vn_Helvetica, 12, Font.NORMAL);


                foreach (var t in htmlarraylist)
                {

                    document.Add((IElement)t);
                   //how set FontNormal if element is Paragraph?
                }

                    document.Close();
Run Code Online (Sandbox Code Playgroud)

有谁可以帮助我吗

Jas*_*len 11

您可以使用iTextSharp中的字体

FontFactory.RegisterDirectories();
Font fontNormal = new Font(FontFactory.GetFont("Arial", 12, Font.NORMAL))
Run Code Online (Sandbox Code Playgroud)

您应该能够使用以下内容在段落上设置字体:

foreach (var t in htmlarraylist)
{
    if(t is Paragraph)
    {
        ((Paragraph)t).Font = fontNormal;
    }
    document.Add((IElement)t);
}
Run Code Online (Sandbox Code Playgroud)