在以下代码中,Parse
无法将StringReader
(sr
)作为输入。我怎样才能将我拥有的字符串传递给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();
}
答案 0 :(得分:0)
为什么要将html放入StringReader?你已经在字符串中使用了html,只需使用它。
htmlparser.Parse(str)
如果由于某种原因必须使用StringReader,请使用ReadToEnd()方法获取HTMLWorker.Parse将接受的数据类型:
htmlparser.Parse(sr.ReadToEnd())
答案 1 :(得分:0)
我更新了itextsharp 5.0 .. .. 现在它没有显示错误..