htmlparser中的错误不能将字符串阅读器作为输入?

时间:2014-04-22 13:33:54

标签: c# html asp.net itextsharp

在以下代码中,Parse无法将StringReadersr)作为输入。我怎样才能将我拥有的字符串传递给Parse,然后呢?

protected void LinkButton1_Click(object sender, EventArgs e)
{
    Response.ContentType = "application/pdf";
    Response.AddHeader("content-disposition", "attachment;filename=UserDetails.pdf");
    Response.Cache.SetCacheability(HttpCacheability.NoCache);          

    string str = "<h1 title=’Header’ align=’Center’> Writing To PDF Using ASP.NET> <br><table align=’Center’><tr><td style=’width:100px;color:green’> <b>iTextSharp</b></td><td style=’width:100px;color:red’>mytestpdf</td></tr></table>";
    StringReader sr = new StringReader(str);
    Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0.0f);
    HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
    PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
    pdfDoc.Open();
    htmlparser.Parse(sr);//Parse cannot take input as string reader (sr) how to solve?
    pdfDoc.Close();
    Response.Write(pdfDoc);
    Response.End();
}

2 个答案:

答案 0 :(得分:0)

为什么要将html放入StringReader?你已经在字符串中使用了html,只需使用它。

htmlparser.Parse(str)

如果由于某种原因必须使用StringReader,请使用ReadToEnd()方法获取HTMLWorker.Parse将接受的数据类型:

htmlparser.Parse(sr.ReadToEnd())

答案 1 :(得分:0)

我更新了itextsharp 5.0 .. .. 现在它没有显示错误..