2016-11-08 2 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

'text'として渡す文字列の違いを調べてください。 – dasblinkenlight

+0

2つの文字列がドキュメント内の同じ場所に挿入されることはありません。すべてのタグを見ることなく、私はより良い答えを与えることはできません。 – jdweng

+0

これを試してください: "<b>テスト</b >"。わかりましたか? – heringer

答えて

0

ありがとうございます。実行時に変数をチェックしたところ、HTML形式でした(例:<の代わりに&lt)。私は変数にHttpUtility.HtmlDecode関数を使用しなければならず、それは完璧に機能しました。

関連する問題