有谁能告诉我如何使用C#从HTML代码转换PDF文档?我正在使用itextsharp 5.0.2 dll。我遇到过这个论坛。到目前为止我还没有找到任何解决方案。其中一些人提到了iTextSharp.HtmlParser但我在我的dll版本中找不到这种类。我应该使用哪个版本来完成我的任务。
我试过这段代码......我不知道我做错了什么?我没有得到PDF文件。
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=TestResult.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringBuilder htmlText =
new StringBuilder("<table style='color:red;' border='1'>");
htmlText.Append("<tr><th>Karunagara Pandi</th><tr><td> Software Engineer</td></tr></table>");
StringReader stringReader = new StringReader(htmlText.ToString());
Document doc = new Document(PageSize.A4);
List<iTextSharp.text.IElement> elements =
iTextSharp.text.html.simpleparser.HTMLWorker.ParseToList(stringReader, null);
doc.Open();
foreach (object item in elements)
{
doc.Add((IElement)item);
}
// Response Output
PdfWriter.GetInstance(doc, Response.OutputStream);
doc.Open();
//doc.Close();
Response.Write("PDF is created");
此代码也仅来自此网站....我需要您正确的解决方案。我也会试着......
感谢。
答案 0 :(得分:2)
您有两个doc.Open
语句没有介入doc.Close()
。第二个将有效地覆盖您刚刚添加的内容。
doc.Open(); // ONE
foreach (object item in elements)
{
doc.Add((IElement)item);
}
// Response Output
PdfWriter.GetInstance(doc, Response.OutputStream);
doc.Open(); // TWO