Click here to Skip to main content
15,889,867 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
this is my code
C#
Response.ContentType = "application/pdf";
        Response.AddHeader("content-disposition", "attachment;filename=UserDetails.pdf");
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        StringWriter sw = new StringWriter();
        HtmlTextWriter hw = new HtmlTextWriter(sw);
        DetailsView_icard.AllowPaging = false;
        DetailsView_icard.DataBind();
        DetailsView_icard.RenderControl(hw);
        DetailsView_icard.HeaderRow.Style.Add("width", "15%");
        DetailsView_icard.HeaderRow.Style.Add("font-size", "10px");
        DetailsView_icard.Style.Add("text-decoration", "none");
        DetailsView_icard.Style.Add("font-family", "Arial, Helvetica, sans-serif;");
        DetailsView_icard.Style.Add("font-size", "8px");
        StringReader sr = new StringReader(sw.ToString());
        Document pdfDoc = new Document(PageSize.A2, 7f, 7f, 7f, 0f);
        HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
        PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
        pdfDoc.Open();
        htmlparser.Parse(sr);
        pdfDoc.Close();
        Response.Write(pdfDoc);
        Response.End();

and my error is
C#
Server Error in '/Pollux' Application.
The document has no pages.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.IO.IOException: The document has no pages.

Source Error:


Line 83:         pdfDoc.Open();
Line 84:         htmlparser.Parse(sr);
Line 85:         pdfDoc.Close();
Line 86:         Response.Write(pdfDoc);
Line 87:         Response.End();
Posted
v2

1 solution

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900