I have used itextsharp dll to generate the PDF. But am stuck up all the time it says like Asp control must be placed inside a form tag with runat=server.
My master page has form tag with runat=server but sill it gives me the exception at pnlMain.RenderControl telling server controls has to be inside of form tag. Any idea on the same? Thanks in advance
My Currentview.aspx page is like this
<asp:panel runat="server" id="pnlMain">
<div id="dvEditpageheader1"/>
<p>...</P>
div id="dvEditpageheader2"/>
<p>...</P>
div id="dvEditpageheader3"/>
<p>...</P>
<asp:Button runat="server" ID="btnPDF" Text="Save to PDF" OnClick="btnPDF_Click" />
</asp:panel>
and my C# code under button click event is
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=Panel.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter stringWriter = new StringWriter();
HtmlTextWriter htmlTextWriter = new HtmlTextWriter(stringWriter);
pnlMain.RenderControl(htmlTextWriter);
StringReader stringReader = new StringReader(stringWriter.ToString());
Document Doc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
HTMLWorker htmlparser = new HTMLWorker(Doc);
PdfWriter.GetInstance(Doc, Response.OutputStream);
Doc.Open();
htmlparser.Parse(stringReader);
Doc.Close();
Response.Write(Doc);
Response.End()