Wednesday 26 August 2015

Export to PDF code

Export to PDF code

aspx page :

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Export to PDF</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
            DataSourceID="SqlDataSource1" DataKeyNames="Empid">
            <Columns>
                <asp:BoundField DataField="Empid" HeaderText="Empid"                                 SortExpression="Empid" ReadOnly="True" />
                <asp:BoundField DataField="Empname" HeaderText="Empname"
                    SortExpression="Empname" />
                <asp:BoundField DataField="Empsal" HeaderText="Empsal"
                    SortExpression="Empsal" />
            </Columns>
        </asp:GridView>
        
        <asp:SqlDataSource ID="SqlDataSource1" runat="server"
            ConnectionString="<%$ ConnectionStrings:DBConnectionString %>"
            SelectCommand="SELECT * FROM [Table_1]"></asp:SqlDataSource>        
        <asp:Button ID="Button1" runat="server" Text="Export To PDF"                         OnClick="Button1_Click" />  

    </div>
    </form>
</body>
</html>

aspx.cs page :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using iTextSharp;
using iTextSharp.text.pdf;
using iTextSharp.text.html.simpleparser;
using System.IO;
using iTextSharp.text;
using System.Data.SqlClient;
using System.Data;


public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        ExportGridToPDF();       
    }
    private void ExportGridToPDF()
    {

        Response.ContentType = "application/pdf";
        Response.AddHeader("content-disposition",                                         "attachment;filename="+GridView1.Rows[0].Cells[1].Text+".pdf");
        
        //to write into htmlContext
       StringWriter sw = new StringWriter();
       HtmlTextWriter hw = new HtmlTextWriter(sw);
       GridView1.RenderControl(hw);

        //Write into PDFDocument
        StringReader sr = new StringReader(sw.ToString());
        Document pdfDoc = new Document(PageSize.A4,10f,10f,5f,50f);
        HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
        PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
        pdfDoc.Open();
        htmlparser.Parse(sr);
        pdfDoc.Close();        
        Response.End();        
    }
    
   public void loadGrid()
    {
        using (SqlConnection con = new SqlConnection("Data Source=Home-                       PC\\SQLEXPRESS;Initial Catalog=EMP;Integrated Security=True"))
        {
            con.Open();
            SqlCommand cmd = new SqlCommand("select * from employee", con);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            da.Fill(ds);
            GridView1.DataSource = ds;
            GridView1.DataBind();
        }
    }
   public override void VerifyRenderingInServerForm(Control control) 
    { 
        //required to avoid the runtime error " 
        //Control 'GridView1' of type 'GridView' must be placed inside a form tag with runat=server." 
    }

}

No comments:

Post a Comment

‘Java’ is not recognised as an internal or external command

For Windows 10: 1.        Right click on  My Computer           2.      Select  Properties           3.    Select  Advanced System Setting...