【问题标题】:Itextsharp rendering html as html sourceItextsharp 将 html 渲染为 html 源
【发布时间】:2013-08-09 06:01:42
【问题描述】:

我在 itextsharp 中有以下代码

productCell.AddElement(new Phrase(Server.HtmlDecode((this.Product.Description != null) ? this.Product.Description : ""), "Arial"));

但是页面被渲染为 html 源。 有人有解决方案吗? 其余代码没问题

【问题讨论】:

    标签: c# html asp.net itextsharp


    【解决方案1】:

    只是回答字体部分,以便它帮助任何人,将para添加块并将字体应用于块

    List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StringReader(htmldata), null);
    Paragraph pdesc=new Paragraph();
        for (int k = 0; k < htmlarraylist.Count; k++)
        {
            //Applies font to each chunk within para
            foreach (Chunk chunk in htmlarraylist[k].Chunks)
            {
                pdesc.Add(new Chunk(chunk.ToString(),arial));
            }
        }
        yourCellInDocument.AddElement(pdesc);
    

    【讨论】:

      【解决方案2】:

      试试这个。为我工作

              FontFactory.RegisterDirectories();
              List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StringReader("<html><head></head><body><div style='font-family: Cambria'>" + text + "</div></body></html>"), null);
              for (int k = 0; k < htmlarraylist.Count; k++)
              {
                  cell.AddElement((IElement)htmlarraylist[k]);
              }
             Tbl.AddCell(cell);
      

      【讨论】:

      • 您好,感谢您的回答,这有效,但我现在如何向元素添加字体?
      • 将其添加到 html 中或尝试提供 CSS 作为 ParseToList 的第二个参数
      • 试过这个 "
        "+htmldata+"
        " 不工作
      • 答案已更新。更多信息请参阅此处stackoverflow.com/questions/8452286/…
      • 对我来说很好,我已经测试过了。添加我添加的字体而不是 +
      猜你喜欢
      • 2017-01-29
      • 2011-06-01
      • 2011-07-12
      • 1970-01-01
      • 2010-09-30
      • 2012-05-30
      • 2018-02-16
      相关资源
      最近更新 更多