将gridview数据导出为pdf

时间:2011-06-11 05:37:23

标签: c# asp.net

它的抛出错误就像文档没有页面一样。

我写了这样的代码。

protected void Button4_Click(object sender, EventArgs e)
{
    Response.ContentType = "application/pdf";
    Response.AddHeader("content-disposition","attachment;filename=GridViewExport.pdf");
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    StringWriter sw = new StringWriter();
    HtmlTextWriter hw = new HtmlTextWriter(sw);
    GridView1.AllowPaging = false;
    GridView1.DataBind();
    GridView1.RenderControl(hw);
    StringReader sr = new StringReader(sw.ToString());
    Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
    HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
    PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
    pdfDoc.Open();
    htmlparser.Parse(sr);
    pdfDoc.Close();
    Response.Write(pdfDoc);
    Response.End();  
}

可以帮我解决这个问题

1 个答案:

答案 0 :(得分:1)

我建议您阅读您正在使用的图书馆的文档。

该错误表明您需要在尝试向其添加内容之前向新文档添加页面。

在某些PDF库中,您添加了一个页面,然后需要在添加内容之前将其设置为当前页面。