Click here to Skip to main content
15,888,013 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
pdf export success but table column width and height not working only default value set output pdf file..

how to set div inside table column and width on run-time in asp.net c#

What I have tried:

C#
using iTextSharp.text;
 
using iTextSharp.text.pdf;
using iTextSharp.text.html;
using iTextSharp.text.html.simpleparser;
using System.Data.SqlClient;
using System.Configuration;


ASP.NET
This is my div content:

<div id="employeelistDiv" runat="server">
    <table border="1">
        <tr>
            <td colspan="2">
                <b>Employee Detail</b>
            </td>
        </tr>
        <tr>
            <td><b>EmployeeID:</b></td>
            <td><asp:Label ID="lblEmployeeId" runat="server"></asp:Label></td>
        </tr>
        <tr>
            <td><b>FirstName:</b></td>
            <td><asp:Label ID="lblFirstName" runat="server"></asp:Label></td>
        </tr>
        <tr>
            <td><b>LastName:</b></td>
            <td><asp:Label ID="lblLastName" runat="server"></asp:Label></td>
        </tr>
        <tr>
            <td><b>City:</b></td>
            <td><asp:Label ID="lblCity" runat="server"></asp:Label></td>
        </tr>
           <tr>
            <td><b>Region:</b></td>
            <td><asp:Label ID="lblState" runat="server"></asp:Label></td>
        </tr>
         <tr>
            <td><b>Postal Code:</b></td>
            <td><asp:Label ID="lblPostalCode" runat="server"></asp:Label></td>
        </tr>
           <tr>
            <td><b>Country:</b></td>
            <td><asp:Label ID="lblCountry" runat="server"></asp:Label></td>
        </tr>      
    </table>
</div>
<asp:Button ID="btnExport" runat="server" Text="Export" OnClick="btnExport_Click" />



C#
Code behind:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        string ConString = ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString;
            SqlConnection con = new SqlConnection(ConString);
            SqlCommand cmd = new SqlCommand();
            cmd.CommandText = "SELECT TOP 1 EmployeeID, LastName, FirstName, Title, BirthDate, City, Region, PostalCode, Country FROM Employees";
            cmd.Connection = con;
            con.Open();
            DataTable dt = new DataTable();
            dt.Load(cmd.ExecuteReader());
            if (dt.Rows.Count > 0)
            {               
                //Bind Datatable to Labels
                lblEmployeeId.Text = dt.Rows[0]["EmployeeID"].ToString();
                lblFirstName.Text = dt.Rows[0]["FirstName"].ToString();
                lblLastName.Text = dt.Rows[0]["LastName"].ToString();
                lblCity.Text = dt.Rows[0]["City"].ToString();
                lblState.Text = dt.Rows[0]["Region"].ToString();
                lblPostalCode.Text = dt.Rows[0]["PostalCode"].ToString();
                lblCountry.Text = dt.Rows[0]["Country"].ToString();
            }
            con.Close();          
        }
}
protected void btnExport_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);
    employeelistDiv.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();
}
 
public override void VerifyRenderingInServerForm(Control control)
{
} 
Posted
Updated 7-Jul-16 22:31pm
v2
Comments
[no name] 8-Jul-16 6:57am    
There is no div in any column? Sorry I could not get your problem?

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