尝试将GridView转换为PDF时,我在行上使用iTextSharp时收到InvalidCastException
htmlWorker.Parse(stringReader)
我做错了什么?我搜索过,每个人似乎都是这样做的。 这是错误。
无法将类型为'iTextSharp.text.html.simpleparser.CellWrapper'的对象转换为'iTextSharp.text.Paragraph'。
以下是我对iTextSharp的内容
using iTextSharp.text;
using iTextSharp.text.html.simpleparser;
using iTextSharp.text.pdf;
这是我的代码。
public override void VerifyRenderingInServerForm(Control control)
{
}
protected void LinkButton2_Click(object sender, EventArgs e)
{
Response.ClearContent();
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment; filename=PDFDoc.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter stringWriter = new StringWriter();
HtmlTextWriter htmlTextWriter = new HtmlTextWriter(stringWriter);
GridView1.RenderControl(htmlTextWriter);
StringReader stringReader = new StringReader(stringWriter.ToString());
Document pdfDoc = new Document(PageSize.LETTER, 10f, 10f, 10f, 0f);
HTMLWorker htmlWorker = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open();
htmlWorker.Parse(stringReader);
pdfDoc.Close();
Response.Write(pdfDoc);
Response.End();
}
答案 0 :(得分:0)
在GridView1.RenderControl(htmlTextWriter)
之前,我必须输入以下代码。
GridView1.AllowPaging = false;
GridView1.AllowSorting = false;
GridView1.DataBind();
然后它就像一个魅力。