Thursday, August 7, 2025

How to convert div to pdf using itextsharp asp.net - C# - Simplest and less code

First you have to download itextsharp.dll and itextsharp.pdfa.dll files and  you have to give the font size as below because in some case it will give error that font size is small.

 <form id="form1" runat="server">

        <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>

    <div id="mainDiv" runat="server">

        

        <asp:Label runat="server" Text="Test" Font-Bold="true" Font-Size="13px" />

        <br />


        <asp:Label runat="server" Text="E-Admit Card" Font-Bold="true" Font-Size="13px" />

        <br />


        <table border="1">

            <tr>

                <td>

                    <asp:Label runat="server" Text="Date Of Test:" Font-Size="13px" />

                </td>

                <td>

                    <asp:Label runat="server" Text="20/11/2024" Font-Size="13px" />

                </td>

            </tr>

        </table>

        

    </div>

        <asp:Button ID="Button1" runat="server" Text="Print" OnClick="Button1_Click" />

</form>


===========================

 protected void Button1_Click(object sender, EventArgs e)

    {

        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);

        

        mainDiv.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();

    }

No comments:

Post a Comment