2016-11-08 93 views
0

我试着找到这个答案,但是。传递一个字符串给出了一个不同的方法来传递一个字符串变量

我有这个功能是应该创建一个格式化的段落。 当我将它传递给像"<b>Test</b>"这样的html字符串时,我按照预期在pdf中获得了粗体文本。

但是,当我传递一个具有相同值的字符串变量时,我没有得到一个格式化文本,而是我只是得到了pdf中的原始字符串。

private Paragraph CreateSimpleHtmlParagraph(string text) 
    { 
     //Our return object 
     Paragraph p = new Paragraph(); 

     //ParseToList requires a StreamReader instead of just text 
     using (StringReader sr = new StringReader(text)) 
     { 
      //Parse and get a collection of elements 
      List<IElement> elements = iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList(sr, null); 
      foreach (IElement e in elements) 
      { 
       //Add those elements to the paragraph 
       p.Add(e); 
      } 
     } 
     //Return the paragraph 
     return p; 
    } 
+1

查找作为“文本”传递的字符串之间的差异,它必须在那里。 – dasblinkenlight

+0

这两个字符串没有被插入文档中完全相同的位置。没有看到所有的标签,我无法给出更好的答案。 – jdweng

+0

试试这个:“<b>测试</b >”。你明白了吗? – heringer

回答

0

非常感谢这么多人。我在运行时检查了变量,它是HTML格式(例如:&lt而不是<)。我不得不在变量上使用HttpUtility.HtmlDecode函数,并且完美地解决了这个问题。

相关问题