Hi ashokpumca,
Check with the below code.
protected void btnPrint_Click(object sender, EventArgs e)
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=Panel.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
pnlContents.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A3.Rotate(), 5, 5, 5, 5);
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();
List<String> EmailList = new List<string>();
foreach (System.Web.UI.WebControls.ListItem item in chkEmail.Items)
{
if (item.Selected)
{
EmailList.Add(item.Value);
}
}
// Join the string together using the , delimiter.
String EmlStr = String.Join(",", EmailList.ToArray());
MailMessage mail = new MailMessage();
mail.To.Add(EmlStr);
mail.From = new MailAddress("xyz@aa.com");
mail.Subject = "Test";
mail.IsBodyHtml = true;
mail.Priority = MailPriority.High;
mail.Body = "<FONT style='font-family: Arial, sans-serif; font-size: 9pt' color='#005682'>Please find the attached CMOF-<b> " + DdlBuyOrdNo.SelectedValue + "</b></font>";
mail.Attachments.Add(new Attachment(new MemoryStream(bytes), "CMOF-" + DdlBuyOrdNo.SelectedValue + ".pdf"));
//attach file from file upload control.
if (fuAttachment.HasFile)
{
string fileName = Path.GetFileName(fuAttachment.PostedFile.FileName);
mail.Attachments.Add(new Attachment(fuAttachment.PostedFile.InputStream, fileName));
}
SmtpClient smtp = new SmtpClient("mail.xyz.com");
NetworkCredential NetworkCred = new NetworkCredential("noreply@xyz.com", "1234");
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
try
{
smtp.Send(mail);
Page.ClientScript.RegisterStartupScript(this.GetType(), "z", "<script type=\"text/javascript\">alert('Mail Successfully Sent..');</script>");
}
catch (Exception ex)
{
//LblMesg.Text = ex.Message.ToString();
}
}
}