2012-02-02 61 views
0

我正在尝试使用HTML模板生成PDF。使用iTextSharp的ASP.Net在HTMLWorker.ParseToList中创建PDF文档错误

我在解析生成的html时遇到了麻烦。 这里是我的代码

using (FileStream fs = new FileStream(System.Web.HttpContext.Current.Server.MapPath("~/Documents/EmailTemplates/test.pdf"), FileMode.Create)) 
     { 
      PdfWriter.GetInstance(document, fs); 
      using (StringReader stringReader = new StringReader(contents)) 
      { 
       List<iTextSharp.text.IElement> parsedList = HTMLWorker.ParseToList(stringReader, null); 
       document.Open(); 
       foreach (object item in parsedList) 
       { 
        document.Add((IElement)item); 
       } 
       document.Close(); 
      } 
     } 

我在HTMLWorker.ParseToList(stringReader,NULL)出现错误; 显示空引用,但stringReader有内容需要

+0

风格声明在哪里? – christofr 2012-02-02 21:53:33

+0

它在html模板中的一部分。我看到一些例子,他们给了null来回风格,并且它被完美地执行。 – HaBo 2012-02-02 21:56:05

+0

您使用的是什么版本的iTextSharp?在你的发布代码示例中,你有'HTMLWorker.ParseToList(stringReader,styles)',但是在你的错误信息中有'HTMLWorker.ParseToList(stringReader,null)'。哪一个是你的实际代码?另外,如果您发布堆栈跟踪,我们可能会帮助您更多。 – 2012-02-02 23:03:57

回答

1

请检查iTextSharp的版本HTMLWorker.ParseToList()不工作正确的最新版本,如果您使用的是最新版本,将其删除,并添加新的参考版本1.x这将解决您的问题

+0

优秀!这解决了这个问题。 – HaBo 2012-02-03 03:03:38