2

我有代码

FontFactory.Register(Server.MapPath("includes/fonts/Rockwell-Light.ttf"));
    StyleSheet style = new StyleSheet();
    style.LoadTagStyle("div", "face", "customfont");
    style.LoadTagStyle("div","encoding",BaseFont.CP1250);


foreach (IElement element in HTMLWorker.ParseToList(new StringReader("<div>" + getProductDescription((this.Product.Description != null) ? this.Product.Description : "") + "</div>"), style))
    {
        productDescCell.AddElement(element);
    }

我的问题是无法将字体应用于代码

4

2 回答 2

0

我已经能够使用以下代码在 iTextSharp 中通过 HTML 实现自定义字体:

第 1 步:将字体文件复制到网站的子目录中,出于我的目的,我使用了“/media/fonts”

第 2 步:使用以下代码注册目录:

FontFactory.RegisterDirectory(C.Server.MapPath("/Media/Fonts"));

第 3 步:遍历 FontFactory 对象中的所有字体以获取字体名称:

StringBuilder sb = new StringBuilder();
        foreach (string fontname in FontFactory.RegisteredFonts)
        {

            sb.Append(fontname + "\n");

        }

第 4 步:通过 font-family 样式属性添加字体名称:

YOURDIVNAME.Attributes.Add("style", "font-family: brush script mt italic;");
于 2013-12-05T19:40:59.843 回答
0
BaseFont rockwellBold = BaseFont.CreateFont(Server.MapPath("includes/fonts/") + "ROCKB.TTF", BaseFont.CP1250, BaseFont.EMBEDDED);
Font rock_11_bold_header = new Font(rockwellBold, 11, Font.NORMAL, new BaseColor(190, 36, 34));
PdfPCell descHeadrCell = new PdfPCell();
descHeadrCell.AddElement(new Phrase("Demo"), rock_11_bold_header));
于 2013-12-06T06:46:25.593 回答