这是我的代码:

Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=TestPage.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);

StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);

this.Page.RenderControl(hw);

StringReader sr = new StringReader(sw.ToString());

Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);

HTMLWorker htmlparser = new HTMLWorker(pdfDoc);

PdfWriter.GetInstance(pdfDoc, Response.OutputStream);

pdfDoc.Open();

**htmlparser.Parse(sr);** //the exception here

pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();


错误是:


  无法转换类型为'iTextSharp.text.html.simpleparser.CellWrapper'的对象进行键入
  “ iTextSharp.text.Paragraph”。


这是什么例外?

最佳答案

我不知道这是否是答案,但是我发现iTextSharp对于具有有效的html十分挑剔。我的测试中有一张桌子被打开过两次,并且从未关闭过,这花了一个小时让我注意到。例外与您那里的例外非常相似。

关于c# - 如何使用itextsharp用CSS将html页面转换为pdf?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18486093/

10-10 00:27