hi sir,
It is displaying fine when it run on page. But when i generate pdf style not adding in html page and even image also showing in actual in size . I set text-align:center it showing left in pdf. please suggest how can i solve this issue .
<div>
<asp:Panel ID="pnlPerson" runat="server">
<div id="divprint" runat="server" style="margin-top: 45px;">
<div style="width: 100%">
<div id="divBill" runat="server">
<table style="width: 100%; ">
<tr>
<td>
<asp:Image ID="imgcompany" runat="server" Width="150px" />
</td>
<td>
<b>
<asp:Label ID="lblcompanyname" runat="server" Text="Bill" /></b><br />
<asp:Label ID="lblfarmname" runat="server" Text="Bill" /><br />
</td>
</tr>
</table>
<table style="width: 100%;" class="example-table" border="1">
<tr>
<td>
<asp:Label ID="lblcompaddress" runat="server" Text="" />
</td>
<td>GSTIN
</td>
<td>
<asp:Label ID="lblGSTIN" runat="server" Text="" />
</td>
</tr>
<tr>
<td>
<asp:Label ID="lblcityname" runat="server" Text="" />,
<asp:Label ID="lblstateadd" runat="server" Text="" /></td>
<td>PAN No :-
</td>
<td>
<asp:Label ID="lblcomppanno" runat="server" Text="" />
</td>
</tr>
<tr>
<td>Phone No.-
<asp:Label ID="lbllandlineno" runat="server" Text="" /></td>
<td>Email :-
</td>
<td>
<asp:Label ID="lblemail" runat="server" Text="" />
</td>
</tr>
<tr>
<td>Mobile No.-
<asp:Label ID="lblcontactno" runat="server" Text="" /></td>
<td>Web :-
</td>
<td>
<asp:Label ID="lblwebsite" runat="server" Text="" />
</td>
</tr>
</table>
<div>BILL TO</div>
<table style="width: 100%;" border="1">
<tr>
<td style="width: 59%" rowspan="2">
<asp:Label ID="lbllitle" runat="server"></asp:Label>
<asp:Label ID="lblname" runat="server"></asp:Label><br />
<asp:Label ID="lbladdress" runat="server"></asp:Label><br />
<asp:Label ID="lblState" runat="server"></asp:Label><br />
<asp:Label ID="lblmobile" runat="server"></asp:Label><br />
<asp:Label ID="lblclientEmail" runat="server"></asp:Label>
</td>
<td>
<asp:Label ID="date" runat="server" Text="Bill Date :"></asp:Label>
</td>
<td>
<asp:Label ID="lbldate" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td style="vertical-align: top;">Invoice No :</td>
<td style="padding-left: 23px">
<asp:Label ID="lblbillnum" runat="server"></asp:Label>
</td>
</tr>
</table>
<asp:GridView ID="gvservices" runat="server" AutoGenerateColumns="false" Width="100%" ShowHeaderWhenEmpty="true">
<Columns>
<asp:TemplateField>
<HeaderStyle Width="50px" Height="20px" />
<HeaderTemplate>
SL#
</HeaderTemplate>
<ItemTemplate>
<%#Container.DataItemIndex+1 %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="testL">
<HeaderTemplate>
Service Description
</HeaderTemplate>
<ItemTemplate>
<%# Eval("Name") %><br />
( <%# Eval("Description") %>)
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="test" HeaderStyle-HorizontalAlign="Right">
<HeaderTemplate>
Amount(in Rs.)
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblamount" runat="server" Text='<%# Eval("Amount") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<%-- <asp:TemplateField ItemStyle-CssClass="test" HeaderStyle-HorizontalAlign="Right">
<HeaderTemplate>
Tax(in Rs.)
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lbltax" runat="server" Text='<%# Eval("TaxAmount") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-CssClass="test" HeaderStyle-HorizontalAlign="Right">
<HeaderTemplate>
Total Amount(in Rs.)
</HeaderTemplate>
<ItemTemplate>
<asp:Label ID="lblsumamount" runat="server" Text='<%# Eval("TotalsumAmount") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>--%>
</Columns>
</asp:GridView>
<table style="width: 100%;" border="1">
<tr id="tr1" runat="server">
<td style="text-align: right" colspan="2">
<asp:Label ID="rstotal" runat="server" Text=" Total amount" Style="text-align: right; padding-right: 60px"></asp:Label>
<asp:Label ID="lbltotal" runat="server" Style="padding-right: 2px"></asp:Label>
</td>
</tr>
<tr id="trsgst" runat="server" visible="false" style="text-align: right;">
<td style="padding-right: 19px;">SGST
</td>
<td>
<asp:Label ID="lblsgst" runat="server" Text="0.00"></asp:Label></td>
</tr>
<tr id="trCGST" runat="server" visible="false" style="text-align: right;">
<td style="padding-right: 19px;">CGST
</td>
<td>
<asp:Label ID="lblCGST" runat="server" Text="0.00"></asp:Label></td>
</tr>
<tr id="trIGST" runat="server" visible="false" style="text-align: right;">
<td style="padding-right: 19px;">IGST
</td>
<td>
<asp:Label ID="lblIGST" runat="server" Text="0.00"></asp:Label></td>
</tr>
<tr id="trUTGST" runat="server" visible="false" style="text-align: right;">
<td style="padding-right: 19px;">UTGST
</td>
<td>
<asp:Label ID="lblUTGST" runat="server" Text="0.00"></asp:Label></td>
</tr>
<%-- <tr id="trAdvMgmt" runat="server" visible="false">
<td style="text-align: right;padding-right: 19px;">
<asp:Label ID="lbladvR" runat="server" Text="Advance Received" ></asp:Label>
</td>
<td>
<asp:Label ID="lblArAmt" runat="server"></asp:Label>
</td>
</tr>
<tr id="tr3" runat="server">
<td style="text-align: right;padding-right: 19px;">
<asp:Label ID="lblPaidAmtTitle" runat="server" Text="Paid Amount" Visible="false"></asp:Label>
</td>
<td>
<asp:Label ID="lblPaidAmt" runat="server" Style="padding-right: 1px" Visible="false"></asp:Label>
</td>
</tr>
<tr>
<td style="text-align: right;">
<asp:Label ID="lblcardname" runat="server" Text=""></asp:Label>
</td>
</tr>--%>
<tr id="tr4" runat="server">
<td style="text-align: right; padding-right: 19px;" width="85%">
<asp:Label ID="lblt" runat="server" Text="Net Amount "></asp:Label>
</td>
<td style="text-align: right">
<asp:Label ID="lblfinalamt" runat="server"></asp:Label></td>
</tr>
<tr id="tr5" runat="server">
<td style="text-align: right; padding-right: 19px;">
<asp:Label ID="Label2" runat="server" Text="Amount Paid "></asp:Label>
</td>
<td style="text-align: right">
<asp:Label ID="lbladvance" runat="server"></asp:Label></td>
</tr>
<tr id="tr6" runat="server">
<td style="text-align: right; padding-right: 19px;">
<asp:Label ID="lblpayableamt" runat="server" Text="Total Professional Fees Due "></asp:Label></td>
<td style="text-align: right">
<asp:Label ID="lblpayable" runat="server"></asp:Label></td>
</tr>
</table>
<br />
</div>
<div style="width: 100%" id="divReceipt" runat="server">
<table style="width: 100%;">
<tr>
<td c style="text-align: center; font-weight: bold">
<asp:Label ID="lblreceiptTilte" runat="server" Text="RECEIPT" />
</td>
</tr>
<tr>
<td>
<asp:Label ID="lblr" runat="server" Text="Receipt Number:"></asp:Label>
<asp:Label ID="lblrecptnNum" runat="server" Text="..."></asp:Label>
<asp:Label ID="reciept" runat="server" Text="Receipt Date:" Style="padding-left: 300px;"></asp:Label>
<asp:Label ID="lblRcdate" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Label ID="lblnarr" runat="server" Text="Received with thanks from" /> 
<asp:Label ID="lbtitle" runat="server"></asp:Label>
<asp:Label ID="lblrecepitfrom" runat="server"></asp:Label>
a sum of Rupees
<asp:Label ID="lblammount" runat="server"></asp:Label>
(<asp:Label ID="lblSumofRupees" runat="server"></asp:Label>)
<asp:Label ID="lblfor" runat="server" Text="against Bill No "></asp:Label><asp:Label ID="lblbla" runat="server"></asp:Label>
<asp:Label ID="lblto" runat="server" Text="to" Visible="false" />
<asp:Label ID="lbtitleRefund" runat="server" Visible="false" />
<asp:Label ID="lblrecepitfromRefund" runat="server" Visible="false"></asp:Label>
<asp:Label ID="lblCompAccountMsg" runat="server" />
</td>
</tr>
</table>
</div>
<div style="height: 100px; text-align: right; height: 50px;">
<asp:Label ID="lblsignature" runat="server" Style="text-align: right"></asp:Label>
<br />
<br />
<asp:Label ID="lblDesignation" runat="server" Text="Authorized Signatory" Style="text-align: right"></asp:Label>
</div>
</div>
<div id="dvtermcondition" runat="server">
</div>
<%--<table style="width: 100%; font-size: 11px;">
<tr>
<td></td>
</tr>
<tr>
<td>1. Payment terms : The payments should be released within seven day's of completion of the activity.</td>
</tr>
<tr>
<td>2. All Cheque should be drawn " A/C payee" only & in favour of
<asp:Label ID="lblcompname" runat="server" Style="font-weight: bold;"></asp:Label>
only.
</td>
</tr>
<tr>
<td>
<asp:Label ID="lblpanno" runat="server" Style="font-weight: bold;"></asp:Label></td>
</tr>
<tr>
<td>
<asp:Label ID="lblactno" runat="server" Style="font-weight: bold;"></asp:Label>
<asp:Label ID="lblbankname" runat="server" Style="font-weight: bold;"></asp:Label>,
<asp:Label ID="lblstaten" runat="server" Style="font-weight: bold;"></asp:Label>
<asp:Label ID="lblifsc" runat="server" Style="font-weight: bold;"></asp:Label>
</td>
</tr>
<tr>
<td></td>
</tr>
</table>--%>
</div>
</asp:Panel>
</div>
<br />
<br />
<div style="margin-left: 40%;">
<asp:ImageButton ID="btnprint" runat="server" CssClass="" ImageUrl="~/images/print_button.png" Width="100" OnClientClick="javascript:PrintPage();" />
<asp:Button ID="btbBack" runat="server" CssClass="btn" Text="Back" OnClick="btnBack_Click" /><br />
<asp:Button ID="btngenpdf" runat="server" CssClass="btn" Text="Send Mail with attachement" OnClick="btngenpdf_Click" />
</div>
<asp:Label ID="lblmsg" runat="server" />
<asp:HiddenField ID="hdnclientemail" runat="server" />
<asp:HiddenField ID="hdncleitnid" runat="server" />
<asp:HiddenField ID="hdnIsunionter" runat="server" />
<asp:HiddenField ID="hdncompstateID" runat="server" />
<asp:HiddenField ID="hdnClientstateID" runat="server" />
<asp:HiddenField ID="hdnpassword" runat="server" />
int userid = 0;
int taskID = 0;
string BillNo = string.Empty;
string RecptNo = string.Empty;
string clienttype = string.Empty;
DataTable dtservice;
void Page_Init(object sender, EventArgs e)
{
if (Request.QueryString.AllKeys.Contains("clientID"))
{
int id;
int.TryParse(Request.QueryString["clientID"], out id);
hdncleitnid.Value = id.ToString();
clienttype = Request.QueryString["clienttype"];
BillNo = Request.QueryString["InvoiceNo"];
RecptNo = Request.QueryString["recpNo"];
if (string.IsNullOrEmpty(RecptNo))
{
divReceipt.Visible = false;
}
ViewState["ClientID"] = id;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// Addcolumnsservices();
GetUserInformation();
GetBillDetailsByRecpt();
}
}
private void GetUserInformation()
{
// ViewState["ClientID"] = hdncleitnid.Value;
string strConnString = ConfigurationManager.ConnectionStrings["MSIS_SQLConnection"].ConnectionString;
DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection(strConnString))
{
// string strQuery = "select u.Address,U.Name,U.Mobile,u.EmailID, ud.NAME as State,U.State as StateID,UD.Isunionterritories from ClientMaster U join STATE UD on U.State = ud.ID where U.ID =" + ViewState["ClientID"] + "";
string strQuery = "";
if (clienttype== "NEW")
{
strQuery = "select u.Address,U.Name,U.Mobile,u.City,u.Email as EmailID ,u.State as StateID,UD.Isunionterritories, ud.NAME as State from NewClient U left outer join STATE UD on U.State = ud.ID where U.ID =" + hdncleitnid.Value + "";
}
else
{
strQuery = "select u.Address,U.Name,U.Mobile,u.City,u.EmailID ,u.State as StateID,UD.Isunionterritories, ud.NAME as State from ClientMaster U left outer join STATE UD on U.State = ud.ID where U.ID =" + hdncleitnid.Value + "";
}
SqlCommand cmd = new SqlCommand(strQuery);
using (SqlDataAdapter sda = new SqlDataAdapter())
{
cmd.Connection = con;
con.Open();
sda.SelectCommand = cmd;
sda.Fill(dt);
if (dt.Rows.Count > 0)
{
lblname.Text = dt.Rows[0]["Name"].ToString();
lbladdress.Text = dt.Rows[0]["Address"].ToString();
lblmobile.Text = "Mobile No. : " + dt.Rows[0]["Mobile"].ToString();
lblState.Text = dt.Rows[0]["State"].ToString();
lblbillnum.Text = BillNo;
lblrecptnNum.Text = RecptNo;
hdnClientstateID.Value = dt.Rows[0]["StateID"].ToString();
hdnclientemail.Value = dt.Rows[0]["EmailID"].ToString();
lblclientEmail.Text = " Email : " + dt.Rows[0]["EmailID"].ToString();
hdnIsunionter.Value = dt.Rows[0]["Isunionterritories"].ToString();
}
}
}
// lblinvoiceno.Text = recptNo;
}
private void GetBillDetailsByRecpt()
{
TaskListBL taskListBL = new TaskListBL();
DataSet dsTaskList = taskListBL.GetBillDetailsByRecpt(BillNo, RecptNo);
if (dsTaskList.Tables[0].Rows.Count > 0)
{
gvservices.DataSource = dsTaskList;
gvservices.DataBind();
DataRow row = dsTaskList.Tables[0].Rows[0];
hdncompstateID.Value = row["State"].ToString();
lblRcdate.Text = lbldate.Text = row["GenerateDate"].ToString();
lblcompanyname.Text = row["CompanyName"].ToString();
lblfarmname.Text = row["FarmName"].ToString();
// string host = HttpContext.Current.Request.Url.Authority;
String strPathAndQuery = HttpContext.Current.Request.Url.PathAndQuery;
String strUrl = HttpContext.Current.Request.Url.AbsoluteUri.Replace(strPathAndQuery, "/");
imgcompany.ImageUrl = strUrl + "images/CopmanyLogo/" + row["LogoName"].ToString();
lblcityname.Text = row["City"].ToString();
lblstateadd.Text = lblState.Text = row["StateName"].ToString();
// lblcomppanno.Text= lblpanno.Text = row["PANNo"].ToString();
lblGSTIN.Text = row["ServiceTaxNo"].ToString();
dvtermcondition.InnerHtml = row["TermsContidion"].ToString();
// lblactno.Text = "A/C No. " + row["ACTNO"].ToString();
// lblbankname.Text = " held with " + row["BankName"].ToString();
lblcompaddress.Text = row["Address"].ToString();
lblemail.Text = row["Email"].ToString();
lblcontactno.Text = row["ContactNo"].ToString();
hdnpassword.Value = row["Password"].ToString();
lblwebsite.Text = "Website : " + row["Website"].ToString();
//lblbillfrom.Text = row["CompanyName"].ToString();
decimal total = 0;
// Label lbltotalamt = (Label)gridBdetails.FooterRow.FindControl("lbltotalamt");
foreach (GridViewRow gridViewRow in gvservices.Rows)
{
Label totalval = (Label)gridViewRow.FindControl("lblamount");
decimal rowValue = 0;
if (decimal.TryParse(totalval.Text.Trim(), out rowValue))
total += rowValue;
}
lbltotal.Text = total.ToString();
// lbltotal.Text = row["TotalAmount"].ToString();
lblsgst.Text = dsTaskList.Tables[0].Compute("SUM(SGST)", string.Empty).ToString();// row["SGST"].ToString();
lblCGST.Text = dsTaskList.Tables[0].Compute("SUM(CGST)", string.Empty).ToString();// row["CGST"].ToString();
lblIGST.Text = dsTaskList.Tables[0].Compute("SUM(IGST)", string.Empty).ToString();// row["IGST"].ToString();
lblUTGST.Text = dsTaskList.Tables[0].Compute("SUM(UTGST)", string.Empty).ToString();// row["UTGST"].ToString();
lblfinalamt.Text = row["FinalValue"].ToString();
decimal ammount = Convert.ToDecimal(row["FinalValue"]);
int amt = Convert.ToInt32(ammount);
string mywrd = AppUtility.NumbersToWords(amt);
lblSumofRupees.Text = mywrd + " only";
lblbla.Text = BillNo;
lbladvance.Text = row["AdvanceAmount"].ToString();
lblpayable.Text = row["payableamt"].ToString();
lblsignature.Text = row["CompanyName"].ToString();
//lblifsc.Text = " (IFSC Code # " + row["IFSCCode"].ToString() + " )";
DisplayTaxType();
}
}
protected void btngenpdf_Click(object sender, EventArgs e)
{
btngenpdf.Visible = false;
btbBack.Visible = false;
btnprint.Visible = false;
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=" + lblbillnum.Text + ".pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
pnlPerson.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
string host = HttpContext.Current.Request.Url.Host;
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
using (MemoryStream memoryStream = new MemoryStream())
{
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
//Response.Write(pdfDoc);
//Response.End();
byte[] bytes = memoryStream.ToArray();
memoryStream.Close();
// MailMessage mm = new MailMessage("info@cabmsa.in","singh.satan@gmail.com");// hdnclientemail.Value
MailMessage mm = new MailMessage(lblemail.Text, hdnclientemail.Value);
mm.To.Add("satansingh.jsp@gmail.com");
mm.Subject = "Invoce attachement";
mm.Body = "Invoice Attachment";
mm.Attachments.Add(new Attachment(new MemoryStream(bytes), lblbillnum.Text + ".pdf"));
mm.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
string smtpaddress = "";
// string hostdomain = "";
int portaddress = 0;
string words = lblemail.Text.Split('@')[1];
// var valu = word[1];
// Console.WriteLine(word);
if (words.ToLower() == "gmail.com")
{
smtpaddress = "smtp.gmail.com";
portaddress = 587;
smtp.EnableSsl = true;
}
else
{
smtpaddress = "mail." + words.ToLower() + "";
portaddress = 25;
smtp.EnableSsl = false;
};
smtp.Host = smtpaddress;
smtp.UseDefaultCredentials = false;
//
System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
//NetworkCred.UserName = "info@cabmsa.in";
//NetworkCred.Password = "welcome@123";
NetworkCred.UserName = lblemail.Text;
NetworkCred.Password = hdnpassword.Value;
smtp.UseDefaultCredentials = false;
smtp.Credentials = NetworkCred;
smtp.Port = portaddress;
smtp.Send(mm);
}
//pdfDoc.Open();
//htmlparser.Parse(sr);
//pdfDoc.Close();
//Response.Write(pdfDoc);
//Response.End();
btngenpdf.Visible = true;
btbBack.Visible = true;
btnprint.Visible = true;
}
protected void btngenpdf_Click1(object sender, EventArgs e)
{
ServicesBL servicesBL = new ServicesBL();
string strInvoiceNo = string.Empty;
strInvoiceNo = BillNo;
TaskListBL taskListBL = new TaskListBL();
DataSet dsState = taskListBL.GetBillDetailsByRecpt(BillNo, RecptNo);
if (dsState.Tables[1] != null && dsState.Tables[1].Rows.Count > 0)
{
DataTable dt = dsState.Tables[1];
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter hw = new HtmlTextWriter(sw))
{
StringBuilder sb = new StringBuilder();
//Generate Invoice (Bill) Header.
sb.Append("<table style='width: 100%;border: 1px solid Black;border-spacing: 0;font-size:14px'>");
sb.Append(" <tr><td style='text-align:center;'>");
sb.Append("<b style='font-size:25px;'>" + lblcompanyname.Text + " </b><br>");
sb.Append("<b style='font-size:20px;'>" + lblfarmname.Text + "</b><br>");
sb.Append(" <b>" + lblcompaddress.Text + ",");
sb.Append(lblcityname.Text + ",");
sb.Append(lblstateadd.Text + ",<br>");
sb.Append(lblcontactno.Text + ",");
sb.Append(lblemail.Text + ",<br>");
sb.Append(lblwebsite.Text + "</b>");
sb.Append("</td></tr>");
sb.Append("<tr><td style='border:1px solid Black; width: 70%;vertical-align: top' colspan='2'>");
sb.Append("<table style='width: 100%; border:1px solid Black;'>");
sb.Append("<tr><td>Name :</td>");
sb.Append("<td style='width: auto'><b>" + lbllitle.Text + " " + lblname.Text + "</b></td></tr>");
sb.Append("<tr><td style='font-size: 14px'>Address : </td><td>" + lbladdress.Text + "</td> </tr>");
sb.Append(" <tr><td style='width: 100px; font-size: 14px'>Mobile No:</td><td>" + lblmobile.Text + "></td></tr>");
sb.Append("<tr><td style='width: 100px; font-size: 14px'>State:</td><td>" + lblState.Text + "</td></tr>");
sb.Append("</table></td>");
sb.Append(" <td style='vertical-align: top; border-bottom: 1px solid Black; width: 80%;' colspan='3'>");
sb.Append("<table style='width: 100%; font-size: 14px; border-spacing: 0;'>");
sb.Append("<tr><td>");
sb.Append("<table style='border-spacing: 0px'>");
sb.Append("<tr><td style='vertical-align: top; font-size: 14px;'>Invoice No :</td>");
sb.Append("<td style='padding-left: 23px'><b>" + lblbillnum.Text + "</b></td></tr>");
sb.Append("<tr><td>Bill Date :</td><td style='padding-left: 23px'><b>" + lbldate.Text + "</b></td></tr>");
// sb.Append("<tr><td>Bill From:</td><td style='padding-left: 23px'>"+ lblbillfrom.Text +"</td>");
sb.Append("</tr></table></td></tr></table></td></tr>");
sb.Append("<tr><td colspan = '2'></td></tr>");
sb.Append("<tr><td><b>Invoice No: </b>");
sb.Append(strInvoiceNo);
sb.Append("</td><td align = 'right'><b>Date: </b>");
sb.Append(DateTime.Now);
sb.Append(" </td></tr>");
sb.Append("<tr><td colspan = '2'><b>Company Name: </b>");
sb.Append("satan");
sb.Append("</td></tr>");
sb.Append("</table>");
sb.Append("<br />");
//Generate Invoice (Bill) Items Grid.
sb.Append("<table border = '1'>");
sb.Append("<tr>");
foreach (DataColumn column in dt.Columns)
{
sb.Append("<th style = 'bgcolor: #D20B0C;color:#ffffff'>");
sb.Append(column.ColumnName);
sb.Append("</th>");
}
sb.Append("</tr>");
foreach (DataRow row in dt.Rows)
{
sb.Append("<tr>");
foreach (DataColumn column in dt.Columns)
{
sb.Append("<td>");
sb.Append(row[column]);
sb.Append("</td>");
}
sb.Append("</tr>");
}
sb.Append("<tr><td align = 'right'>");
sb.Append(dt.Columns.Count - 1);
sb.Append("'>Total</td>");
sb.Append("<td>");
//sb.Append(dt.Compute("sum(Total)", ""));
sb.Append(dt.Rows[0]["TotalAmount"].ToString());
sb.Append("</td>");
sb.Append("</tr></table>");
sb.Append(" </td></tr></table>");
//Export HTML String as PDF.
StringReader sr = new StringReader(sb.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
using (MemoryStream memoryStream = new MemoryStream())
{
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream);
pdfDoc.Open();
htmlparser.Parse(sr);
pdfDoc.Close();
byte[] bytes = memoryStream.ToArray();
memoryStream.Close();
MailMessage mm = new MailMessage("info@eagleinnovations.co.in", "singh.satan@gmail.com");
mm.Subject = "QuickeServices";
mm.Body = "Invoice Attachment";
mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "Invoice.pdf"));
mm.IsBodyHtml = true;
SmtpClient smtp = new SmtpClient();
smtp.Host = "mail.eagleinnovations.co.in";
smtp.EnableSsl = true;
System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
NetworkCred.UserName = "info@eagleinnovations.co.in";
NetworkCred.Password = "welcome@123";
smtp.UseDefaultCredentials = false;
smtp.EnableSsl = false;
smtp.Credentials = NetworkCred;
smtp.Port = 25;
smtp.Send(mm);
}
}
}
}
}
public override void VerifyRenderingInServerForm(Control control)
{
/* Verifies that the control is rendered */
}
private void DisplayTaxType()
{
if (hdnClientstateID.Value == hdncompstateID.Value)
{
trsgst.Visible = true;
trCGST.Visible = true;
trIGST.Visible = false;
trUTGST.Visible = false;
}
else if (hdnIsunionter.Value == "1")
{
trUTGST.Visible = true;
trsgst.Visible = false;
trCGST.Visible = false;
trIGST.Visible = false;
}
else
{
trUTGST.Visible = false;
trsgst.Visible = false;
trCGST.Visible = false;
trIGST.Visible = true;
}
}
protected void btnBack_Click(object sender, EventArgs e)
{
Response.Redirect("givenServices.aspx");
}
<style>
hr {
display: block;
-webkit-margin-before: 0.5em;
-webkit-margin-after: 0.5em;
-webkit-margin-start: auto;
-webkit-margin-end: auto;
}
.test {
text-align: right;
}
.testL {
text-align: left;
}
</style>
<script type="text/javascript">
function PrintPage() {
document.getElementById('<%=btnprint.ClientID%>').style.visibility = "hidden";
document.getElementById('<%=btbBack.ClientID%>').style.visibility = "hidden";
window.print();
}
</script>
<style type="text/css">
table {
border-collapse: collapse;
}
th, td {
border: 1px solid #ccc;
padding-left: 10px;
}
tr:nth-child(even) {
background-color: #fff;
}
tr:nth-child(odd) {
background-color: #fff;
}
</style>