public void Render(ViewContext viewContext, TextWriter writer) { // generate view into string var sb = new System.Text.StringBuilder(); TextWriter tw = new System.IO.StringWriter(sb); _result.View.Render(viewContext, tw); var resultCache = sb.ToString(); var ms = new MemoryStream(); var document = new Document(); var pdfWriter = PdfWriter.GetInstance(document, ms); var worker = new HTMLWorker(document); document.Open(); worker.StartDocument(); pdfWriter.CloseStream = false; worker.Parse(new StringReader(resultCache)); worker.EndDocument(); worker.Close(); document.Close(); // this is as close as we can get to being "success" before writing output // so set the content type now viewContext.HttpContext.Response.ContentType = "application/pdf"; pdfWriter.Flush(); pdfWriter.Close(); viewContext.HttpContext.Response.BinaryWrite(ms.ToArray()); }
protected void GenerateInvoicePDF(object sender, EventArgs e) { //Dummy data for Invoice (Bill). string companyName = "ASPSnippets"; int orderNo = 2303; DataTable dt = new DataTable(); dt.Columns.AddRange(new DataColumn[5] { new DataColumn("ProductId", typeof(string)), new DataColumn("Product", typeof(string)), new DataColumn("Price", typeof(int)), new DataColumn("Quantity", typeof(int)), new DataColumn("Total", typeof(int)) }); dt.Rows.Add(101, "MuscleBlaze Whey Protein", 4000, 1, 4000); dt.Rows.Add(102, " Micronized Creatine Powder", 2132, 1, 2132); dt.Rows.Add(103, "Unflavoured 90 tablet(s)", 2312, 1, 2312); using (StringWriter sw = new StringWriter()) { using (HtmlTextWriter hw = new HtmlTextWriter(sw)) { StringBuilder sb = new StringBuilder(); //Generate Invoice (Bill) Header. sb.Append("<table width='100%' cellspacing='0' cellpadding='2'>"); sb.Append("<tr><td align='center' style='background-color: #18B5F0' colspan = '2'><b>Order Sheet</b></td></tr>"); sb.Append("<tr><td colspan = '2'></td></tr>"); sb.Append("<tr><td><b>Order No: </b>"); sb.Append(orderNo); 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(companyName); 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 = 'background-color: #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' colspan = '"); sb.Append(dt.Columns.Count - 1); sb.Append("'>Total</td>"); sb.Append("<td>"); sb.Append(dt.Compute("sum(Total)", "")); sb.Append("</td>"); sb.Append("</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); PdfWriter writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream); pdfDoc.Open(); htmlparser.Parse(sr); pdfDoc.Close(); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment;filename=Invoice_" + orderNo + ".pdf"); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Write(pdfDoc); Response.End(); } } }
private void MenuRealizarExtracto_Click(object sender, RoutedEventArgs e) { MessageBoxResult r = MaterialMessageBox.ShowWithCancel("¿Desea realizar el extracto de este mes?", "Advertencia"); if (r == MessageBoxResult.OK) { try { StringBuilder sb = new StringBuilder(); StringBuilder sb2 = new StringBuilder(); Byte[] bytes; using (StringWriter sw = new StringWriter()) { using (MemoryStream ms = new MemoryStream()) { using (Document document = new Document()) { using (PdfWriter writer = PdfWriter.GetInstance(document, ms)) { document.Open(); using (HtmlTextWriter hw = new HtmlTextWriter(sw)) { int orderNo = 1234; string companyName = c.entidadcuenta; sb.Append("<table width='100%' cellspacing='0' cellpadding='2'>"); sb.Append("<tr><td align='center' style='background-color: #18B5F0' colspan = '2'><b>Extracto Bancario</b></td></tr>"); sb.Append("<tr><td colspan = '2'></td></tr>"); sb.Append("<tr><td><b>Numero Operacion: </b>"); sb.Append(orderNo); sb.Append("</td><td align = 'right'><b>Fecha: </b>"); sb.Append(DateTime.Now.Date.ToShortDateString()); sb.Append("</td></tr>"); sb.Append("<tr><td colspan = '2'><b>Entidad Bancaria: </b>"); sb.Append(companyName); sb.Append("</td></tr>"); sb.Append("<tr><td colspan = '2'><b>Titular: </b>"); sb.Append(c.titularcuenta); sb.Append("</td></td>"); sb.Append("</table>"); sb.Append("<br />"); //sb2 sb2.Append("<br />"); sb2.Append("<table border = '1'>"); sb2.Append("<tr>"); sb2.Append("<th>Fecha</th>"); sb2.Append("<th>Nombre</th>"); sb2.Append("<th>Operación</th>"); sb2.Append("<th>Cuantia</th>"); sb2.Append("<th>Saldo</th>"); sb2.Append("</tr>"); foreach (IngresosYGastos item in dataGrid.Items) { sb2.Append("<tr>"); sb2.Append("<td>"); sb2.Append(item.FechaOperacion); sb2.Append("</td>"); sb2.Append("<td>"); sb2.Append(item.Nombre); sb2.Append("</td>"); sb2.Append("<td>"); sb2.Append(item.FechaValor); sb2.Append("</td>"); sb2.Append("<td>"); sb2.Append(item.Cuantia); sb2.Append("</td>"); sb2.Append("<td>"); sb2.Append((cuantiaRes + item.Cuantia)); sb2.Append("</td>"); sb2.Append("</tr>"); cuantiaRes = cuantiaRes + item.Cuantia; } sb2.Append("</tr></table>"); } using (HTMLWorker htmlWorker = new HTMLWorker(document)) { StringReader sr1 = new StringReader(sb.ToString()); htmlWorker.Parse(sr1); PdfContentByte cb = writer.DirectContent; cb.MoveTo(30, document.Top - 115f); cb.LineTo(563, document.Top - 115f); cb.Stroke(); sr1 = new StringReader(sb2.ToString()); htmlWorker.Parse(sr1); } document.Close(); } } bytes = ms.ToArray(); } } string testFile = "./../../Usuarios/" + c.numerocuenta + "/" + "Extracto_" + DateTime.Now.Day + DateTime.Now.Month + DateTime.Now.Year + DateTime.Now.Hour + DateTime.Now.Minute + DateTime.Now.Second + DateTime.Now.Millisecond + ".pdf"; System.IO.File.WriteAllBytes(testFile, bytes); c.saldo = cuantiaRes; MainWindow.u.RepositorioCuentasBancarias.Update(c); Asignar(); listBox.Items.Clear(); cargarLista(); } catch (Exception ex) { Console.WriteLine(ex.ToString()); } } }
protected void imgbtnPDF_OnClick(object sender, EventArgs e) { try { Response.Clear(); Response.Buffer = true; Response.ContentType = "application/pdf"; Response.ContentEncoding = System.Text.Encoding.Unicode; Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble()); string filename = "UtilityAirStatus_Report" + DateTime.Now.Date.ToString("dd-MM-yyyy") + ".pdf"; Response.AddHeader("content-disposition", "attachment;filename=" + filename); Response.Cache.SetCacheability(HttpCacheability.NoCache); using (StringWriter sw = new StringWriter()) { HtmlTextWriter hw = new HtmlTextWriter(sw); //To Export all pages gvReport2.AllowPaging = false; // this.MilkStorageGrid(); gvReport2.HeaderRow.BackColor = Color.White; foreach (TableCell cell in gvReport2.HeaderRow.Cells) { cell.BackColor = gvReport2.HeaderStyle.BackColor; } foreach (GridViewRow row in gvReport2.Rows) { row.BackColor = Color.White; foreach (TableCell cell in row.Cells) { if (row.RowIndex % 2 == 0) { cell.BackColor = gvReport2.AlternatingRowStyle.BackColor; } else { cell.BackColor = gvReport2.RowStyle.BackColor; } cell.CssClass = "textmode"; List <Control> controls = new List <Control>(); //Add controls to be removed to Generic List foreach (Control control in cell.Controls) { controls.Add(control); } //Loop through the controls to be removed and replace then with Literal foreach (Control control in controls) { switch (control.GetType().Name) { case "HyperLink": cell.Controls.Add(new Literal { Text = (control as HyperLink).Text }); break; case "TextBox": cell.Controls.Add(new Literal { Text = (control as TextBox).Text }); break; case "LinkButton": cell.Controls.Add(new Literal { Text = (control as LinkButton).Text }); break; case "CheckBox": cell.Controls.Add(new Literal { Text = (control as CheckBox).Text }); break; case "RadioButton": cell.Controls.Add(new Literal { Text = (control as RadioButton).Text }); break; } cell.Controls.Remove(control); } } } //gvPCIPLogReport.Columns[0].Visible = false; gvReport2.RenderControl(hw); string strSubTitle = "Utility Air Status Report"; string strPath = Request.Url.GetLeftPart(UriPartial.Authority) + "/images/Logo1.gif"; //string content = "<div align='left' style='font-family:verdana;font-size:16px'><img src='" + strPath + "'/></div><div align='center' style='font-family:verdana;font-size:16px'><span style='font-size:16px;font-weight:bold;color:Black;'>" + Session[ApplicationSession.OrganisationName] + string content = "<div align='left' style='font-family:verdana;font-size:16px'><img src='" + strPath + "'/></div><div align='center' style='font-family:verdana;font-size:16px'><span style='font-size:16px;font-weight:bold;color:Black;'>" + Session[ApplicationSession.OrganisationName] + "</span><br/><span style='font-size:13px;font-weight:bold;color:Black;'>" + Session[ApplicationSession.OrganisationAddress] + "</span><br/>" + "<span align='center' style='font-family:verdana;font-size:13px'><strong>" + strSubTitle + "</strong></span><br/>" + "<div align='center' style='font-family:verdana;font-size:12px'><strong>From Date :</strong>" + DateTime.ParseExact(txtFromDate.Text + " " + txtFromTime.Text, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture) + " <strong> To Date :</strong>" + DateTime.ParseExact(txtToDate.Text + " " + txtToTime.Text, "dd/MM/yyyy HH:mm:ss", CultureInfo.InvariantCulture) + "</div><br/> " + sw.ToString() + "<br/></div>"; // string style = @"<!--mce:2-->"; StringReader sr = new StringReader(content); Document pdfDoc = new Document(iTextSharp.text.PageSize.A4, 10f, 10f, 10f, 0f); pdfDoc.SetPageSize(iTextSharp.text.PageSize.A4.Rotate()); HTMLWorker htmlparser = new HTMLWorker(pdfDoc); PdfWriter.GetInstance(pdfDoc, Response.OutputStream); pdfDoc.Open(); htmlparser.Parse(sr); pdfDoc.Close(); Response.Write(pdfDoc); gvReport2.GridLines = GridLines.None; Response.End(); } } catch (Exception ex) { log.Error("Error", ex); ClientScript.RegisterStartupScript(typeof(Page), "MessagePopUp", "<script>alert('Oops! There is some technical Problem. Contact to your Administrator.');</script>"); } //CreateWordDocument(filename, saveAs, strType); }
public async Task <byte[]> CreateSignedApplication(ApplicationViewModel viewModel) { if (!User.Identity.IsAuthenticated) { return(null); } var img = String.Format("data:image/jpg;base64,{0}", Convert.ToBase64String(viewModel.Signature)); Image image = Image.GetInstance(viewModel.Signature); using (var context = new CIMOB_IPS_DBContext(new DbContextOptions <CIMOB_IPS_DBContext>())) { var student = await context.Student .Include(s => s.IdAccountNavigation) .Include(s => s.IdCourseNavigation) .SingleOrDefaultAsync(s => s.IdAccount == GetCurrentUserID()); var programType = await context.ProgramType .SingleOrDefaultAsync(s => s.IdProgramType == 1); //erasmus, mudar prox fase var strMes = DateTime.Now.ToString("MMMM"); strMes = strMes.First().ToString().ToUpper() + strMes.Substring(1); StringBuilder strbHtml = new StringBuilder(); strbHtml.AppendLine("<h2 style='text-align: center;'>Declaração de candidatura a mobilidade</h2>"); //incluir morada strbHtml.AppendLine("<br><br><p>Eu, " + student.Name + ", portador(a) do n.º de cartão de cidadão " + student.Cc + ", nascido(a) na data " + student.BirthDate.ToString("dd/MM/yyyy")); strbHtml.AppendLine(", declaro que, no presente dia " + DateTime.Now.Date.ToString("dd/MM/yyyy") + ", me candidato ao programa de mobilidade " + programType.Name + ", "); strbHtml.AppendLine("tendo o perfeito conhecimento dos regulamentos associados com o mesmo, bem como os meus deveres e direitos.</p>"); strbHtml.AppendLine("<br><br><br><p><b>O estudante,</b></p><br><br>"); //strbHtml.AppendLine("<img src='" + String.Format("data:image/gif;base64,{0}", Convert.ToBase64String(signature.MySignature)).Replace("/", "//") + "' />"); MemoryStream ms = new MemoryStream(); TextReader txtReader = new StringReader(strbHtml.ToString()); Document doc = new Document(PageSize.A4, 25, 25, 25, 25); PdfWriter oPdfWriter = PdfWriter.GetInstance(doc, ms); HTMLWorker htmlWorker = new HTMLWorker(doc); doc.Open(); htmlWorker.StartDocument(); htmlWorker.Parse(txtReader); doc.Add(image); strbHtml = new StringBuilder(); strbHtml.AppendLine(DateTime.Now.ToString("dd") + " " + strMes + " de " + DateTime.Now.ToString("yyyy")); txtReader = new StringReader(strbHtml.ToString()); htmlWorker.Parse(txtReader); htmlWorker.EndDocument(); htmlWorker.Close(); doc.Close(); //return File(ms.ToArray(), "application/pdf", "teste.pdf"); return(ms.ToArray()); } }
public ActionResult ExportToPDF(List <UserLoginInformation> matchingUsers) { string filePath = Path.Combine(Server.MapPath(_uploadDirectory), "users_" + LoginController.ActiveUser_SESSIONID + ".pdf"); using (var fs = new FileStream(filePath, FileMode.Create, FileAccess.Write)) { Document document = new Document(PageSize.A1.Rotate(), 25, 25, 30, 30); PdfWriter writer = PdfWriter.GetInstance(document, fs); document.Open(); StringBuilder sb = new StringBuilder(); sb.Append("<table style=\"color:black;font-family: Arial, Helvetica, sans-serif;font-size: 8px;width:100%;max-width:100%;margin-bottom:20px;border:1px solid #ddd;\">"); sb.Append("<thead>"); sb.Append("<tr style=\"color: black;font-family:Arial, Helvetica, sans-serif; font-size:10px;font-weight:bold;border-bottom: 1px solid black; \">"); sb.Append("<td>"); sb.Append("Title"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("User Name"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("Email Id"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("Contact No"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("Organization"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("Primary Facility"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("User Role"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("Status"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("Date of Registration"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("Last Activation Date"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("Last Deactivated Date"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("ZipCode"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("City"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("State"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("Country"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("IsSuperAdmin"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("IsOrganizationalAdmin"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("IsFacilityAdmin"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("IsNormalUser"); sb.Append("</td>"); sb.Append("<td>"); sb.Append("Other Facilities"); sb.Append("</td>"); sb.Append("</tr>"); sb.Append("</thead>"); sb.Append("<tbody>"); foreach (UserLoginInformation @userLogin in matchingUsers) { sb.Append("<tr>"); sb.Append("<td>"); sb.Append(userLogin.TitleName); sb.Append("</td>"); sb.Append("<td>"); sb.Append(userLogin.FirstName + ", " + userLogin.LastName); sb.Append("</td>"); sb.Append("<td>"); sb.Append(userLogin.EmailId); sb.Append("</td>"); sb.Append("<td>"); sb.Append(userLogin.ContactNumber); sb.Append("</td>"); sb.Append("<td>"); sb.Append(userLogin.Facility.OrganisationName); sb.Append("</td>"); sb.Append("<td>"); sb.Append(userLogin.Facility.FacilityMasterName); sb.Append("</td>"); string loginrole; if (userLogin.IsSuperAdmin) { loginrole = "Super Admin"; } else if (userLogin.IsOrganisationAdmin) { loginrole = "Organisation Admin"; } else if (userLogin.IsFacilityAdmin) { loginrole = "Facility Admin"; } else { loginrole = "Normal User"; } sb.Append("<td>"); sb.Append(loginrole); sb.Append("</td>"); sb.Append("<td>"); sb.Append(@userLogin.IsActive); sb.Append("</td>"); sb.Append("<td>"); sb.Append(@userLogin.CreatedDate); sb.Append("</td>"); sb.Append("<td>"); sb.Append(@userLogin.ActivatedDate); sb.Append("</td>"); sb.Append("<td>"); sb.Append(@userLogin.DeactivatedDate); sb.Append("</td>"); string zipcode = ""; if (@userLogin.ZipId.HasValue) { zipcode = @userLogin.ZipId.Value.ToString().PadLeft(5, '0'); } sb.Append("<td>"); sb.Append(zipcode); sb.Append("</td>"); sb.Append("<td>"); sb.Append(@userLogin.City); sb.Append("</td>"); sb.Append("<td>"); sb.Append(@userLogin.State); sb.Append("</td>"); sb.Append("<td>"); sb.Append(@userLogin.Country); sb.Append("</td>"); sb.Append("<td>"); sb.Append(@userLogin.IsSuperAdmin); sb.Append("</td>"); sb.Append("<td>"); sb.Append(@userLogin.IsOrganisationAdmin); sb.Append("</td>"); sb.Append("<td>"); sb.Append(@userLogin.IsFacilityAdmin); sb.Append("</td>"); sb.Append("<td>"); sb.Append(@userLogin.IsNormalUser); sb.Append("</td>"); sb.Append("<td>"); sb.Append(@userLogin.GetUserFacilityNamesAsString()); sb.Append("</td>"); sb.Append("</tr>"); } sb.Append("</tbody>"); sb.Append("</table>"); TextReader reader = new StringReader(sb.ToString()); using (var htmlWorker = new HTMLWorker(document)) { htmlWorker.Parse(reader); } document.Close(); writer.Close(); fs.Close(); } filePath = "users_" + LoginController.ActiveUser_SESSIONID + ".pdf"; return(Json(filePath, JsonRequestBehavior.AllowGet)); }
protected void GenerateInvoicePDF(object sender, EventArgs e) { string companyName = "Gallery Website"; string address = Convert.ToString(Session["address"]); int orderid = Convert.ToInt32(Session["orderid"]); int orderNo = orderid; DataTable dt = new DataTable(); dt.Columns.AddRange(new DataColumn[4] { new DataColumn("ProductId", typeof(int)), new DataColumn("Name", typeof(string)), new DataColumn("Quantity", typeof(int)), new DataColumn("Total Price", typeof(Double)) }); GalleryEntities1 _db = new GalleryEntities1(); List <ORDERDETAIL> orderdetails = _db.ORDERDETAILs.Where( c => c.OrderId == orderid).ToList(); for (int i = 0; i < orderdetails.Count; i++) { PRODUCT product = _db.PRODUCTs.Find(orderdetails[i].ProductId); dt.Rows.Add(orderdetails[i].ProductId, product.Name, orderdetails[i].Quantity, orderdetails[i].TotalPrice); } using (StringWriter sw = new StringWriter()) { using (HtmlTextWriter hw = new HtmlTextWriter(sw)) { StringBuilder sb = new StringBuilder(); //Generate Invoice (Bill) Header. sb.Append("<table width='100%' cellspacing='0' cellpadding='2'>"); sb.Append("<tr><td align='center' style='background-color: #18B5F0' colspan = '2'><b>Receipt</b></td></tr>"); sb.Append("<tr><td colspan = '2'></td></tr>"); sb.Append("<tr><td><b>Order No: </b>"); sb.Append(orderNo); sb.Append("</td><td align = 'right'><b>Date: </b>"); sb.Append(DateTime.Now); sb.Append(" </td></tr>"); sb.Append("<tr><td><b>Company Name: </b>"); sb.Append(companyName); sb.Append("</td><td align = 'right'><b>Address: </b>"); sb.Append(address); 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>"); 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' colspan = '"); sb.Append(dt.Columns.Count - 1); sb.Append("'>Total</td>"); sb.Append("<td>"); double total1 = Convert.ToDouble(Session["total"]); sb.Append(String.Format("{0:0.00}", total1)); sb.Append("</td>"); sb.Append("</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); PdfWriter writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream); pdfDoc.Open(); htmlparser.Parse(sr); pdfDoc.Close(); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment;filename=Invoice_" + orderNo + ".pdf"); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Write(pdfDoc); Response.End(); } } }
public void GeneratePDFNew(string Imagepath, string fileName, string HeaderName, GridView GridReport, Page oPage, string text) { var document = new Document(PageSize.A4, 50, 50, 25, 25); // document.SetMargins(20, 20, 20, 20); try { // oPage.Response.Clear(); PdfWriter.GetInstance(document, oPage.Response.OutputStream); // generates the grid first StringBuilder strB = new StringBuilder(); StringBuilder strB1 = new StringBuilder(); string str = string.Empty; //str = "<font size='12px' face='arial'><table width='70%' align='left'><tr><td colspan='5' ></td></tr>"; //str = str + "<tr><td colspan='5' width='30%' align='center'><b>Estimate Details</b></td></tr> <tr><td align='right' >Estimate No:</td><td><b>" + Obj_Comm.ToTitleCase(lblEstimateNo.Text) + "</b></td></tr>"; //str = str + "<tr><td align='right' >Estimate Date:</td><td><b>" + Obj_Comm.ToTitleCase(lblEstimateDate.Text) + "</b></td></tr>"; //str = str + "<tr><tr><td align='right' >Order By:</td><td><b>" + Obj_Comm.ToTitleCase(lblOrderBy.Text) + "</b></td></tr>"; //str = str + "<tr><tr><td align='right' >Customer:</td><td><b>" + Obj_Comm.ToTitleCase(lblCustName.Text) + "</b></td></tr>"; //str = str + "<tr><tr><td align='right' >Site:</td><td><b>" + Obj_Comm.ToTitleCase(lblSite.Text) + "</b></td></tr>"; //str = str + "<tr><tr><td align='right' >Exp Delivery Date:</td><td><b>" + Obj_Comm.ToTitleCase(lblExpDelDate.Text) + "</b></td></tr>"; //str = str + "<tr><tr><td align='right' >Order Status:</td><td><b>" + Obj_Comm.ToTitleCase(lblOrderStatus.Text) + "</b></td></tr>"; str = "<font size='12px' face='arial'><table width='90%' align='left'>"; str = str + "<tr><td colspan='4' align='left'><b>" + lblCompanyName.Text + "</b></td></tr>"; str = str + "<tr><td colspan='4' align='left'><b>" + lblCompanyAddress.Text + "</b></td></tr>"; str = str + "<tr><td colspan='4' align='left'><b>Phone No:" + lblPhnNo.Text + "</b></td></tr>"; str = str + "<tr><td colspan='4' align='left'><b>Fax No:" + lblFaxNo.Text + "</b></td></tr>"; str = str + "<tr><td colspan='4' align='Center'><b>Material Requisition</b></td></tr>"; str = str + "<tr><td align='Right'><b>" + "Requisition No :" + "</b></td><td align='Left'><b>" + lblReqNo.Text + "</b></td><td align='right'><b>" + "Requisition Date :" + "</b></td><td align='Left'><b>" + lblReqDate.Text + "</b></td></tr>"; str = str + "<tr><td align='Right'><b></b></td><td align='Left'><b></b></td><td align='right'><b>" + "Requisition By :" + "</b></td><td align='Left'><b>" + lblEmp.Text + "</b></td></tr>"; str = str + "<tr><td colspan='4' align='Left'><b>" + "" + "</b></td></tr>"; //str = str + "<tr><td colspan='3' align='Left'><b></b></td></tr>"; // str = str + "<tr><td ><b>" + lblSuplier.Text + "</b></td><td colspan='2' align='Left'></td></tr>"; // str = str + "<tr><td colspan='3' align='Left'><b>" + "" + "</b></td></tr>"; document.SetMargins(10, 10, 10, 10); document.Open(); str = str + "<br><tr><td colspan='4' align='right'>" + GridViewToHtml(ReqGrid) + "</td></tr><br>"; str = str + "<br><tr><td colspan='4'><table><tr><td>Prepared By</td><td></td><td>Authorised By</td><td></td><td>Issued By</td><td></td><td>Received By</td></tr>"; str = str + "<tr><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>"; str = str + "<tr><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>"; str = str + "<tr><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td></tr>"; str = str + "<tr><td width='100%'><b>Name & Designation<b></td><td></td><td width='100%'><b>Name & Designation<b></td><td></td><td width='100%'><b>Name & Designation<b></td><td></td><td width='100%'><b>Name & Designation<b></td></tr>"; str = str + "</table></td></tr>"; str = str + "</table></font>"; strB.Append(str); document.SetMargins(20, 20, 20, 20); document.Open(); if (text.Length.Equals(0)) // export the text { // BindMyGrid(); using (StringWriter sWriter = new StringWriter(strB)) { using (HtmlTextWriter htWriter = new HtmlTextWriter(sWriter)) { //grdPrice.RenderControl(htWriter); } } } else // export the grid { strB.Append(text); } // now read the Grid html one by one and add into the document object using (TextReader sReader = new StringReader(strB.ToString())) { iTextSharp.text.Image gif = iTextSharp.text.Image.GetInstance(Server.MapPath("~/Images/MasterPages/MayurLogo.png")); document.Add(gif); List <IElement> list = HTMLWorker.ParseToList(sReader, new StyleSheet()); foreach (IElement elm in list) { document.Add(elm); } } // oPage.Response.ContentType = "application/pdf"; // oPage.Response.AddHeader("content-disposition", "attachment; filename=" + fileName); // oPage.Response.Flush(); // oPage.Response.End(); } catch (Exception ex) { throw new Exception(ex.Message); } finally { document.Close(); } }
protected void Button1_Click(object sender, EventArgs e) { //Dummy data for Invoice (Bill). string companyName = "GGL CRM"; int orderNo = 1; DataTable dt = new DataTable(); dt.Columns.AddRange(new DataColumn[6] { new DataColumn("UserID", typeof(string)), new DataColumn("bookingDate", typeof(string)), new DataColumn("ApxDelivaryDate", typeof(string)), new DataColumn("GasType", typeof(string)), new DataColumn("GasQuantity", typeof(string)), new DataColumn("Total", typeof(float)) }); dt.Rows.Add(1, "18 /03 / 2015", DateTime.Now.ToShortDateString(), "CNG", 10, 12345.89); using (StringWriter sw = new StringWriter()) { using (HtmlTextWriter hw = new HtmlTextWriter(sw)) { StringBuilder sb = new StringBuilder(); //Generate Invoice (Bill) Header. sb.Append("<table width='100%' cellspacing='0' cellpadding='2'>"); sb.Append("<tr><td align='center' style='background-color: #18B5F0' colspan = '2'><b>Order Sheet</b></td></tr>"); sb.Append("<tr><td colspan = '2'></td></tr>"); sb.Append("<tr><td><b>Order No: </b>"); sb.Append(orderNo); 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(companyName); 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 = 'background-color: #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' colspan = '"); sb.Append(dt.Columns.Count - 1); sb.Append("'>Total</td>"); sb.Append("<td>"); sb.Append(dt.Compute("sum(Total)", "")); sb.Append("</td>"); sb.Append("</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); PdfWriter writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream); pdfDoc.Open(); htmlparser.Parse(sr); pdfDoc.Close(); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment;filename=Invoice_" + orderNo + ".pdf"); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Write(pdfDoc); Response.End(); } } }
/// <summary> /// Creates the document. /// </summary> /// <param name="mergeTemplate">The merge template.</param> /// <param name="mergeObjectList">The merge object list.</param> /// <param name="globalMergeFields">The global merge fields.</param> /// <returns></returns> public override byte[] GenerateReport(List <ReservationService.ReservationSummary> reservationSummaryList, string logoFileUrl, string font, DateTime?filterStartDate, DateTime?filterEndDate, string lavaTemplate = "") { Font zapfdingbats = new Font(Font.ZAPFDINGBATS); // Date Ranges var today = RockDateTime.Today; var filterStartDateTime = filterStartDate.HasValue ? filterStartDate.Value : today; var filterEndDateTime = filterEndDate.HasValue ? filterEndDate.Value : today.AddMonths(1); // Build the Lava html var reservationSummaries = reservationSummaryList.Select(r => new { Id = r.Id, ReservationName = r.ReservationName, ReservationType = r.ReservationType, ApprovalState = r.ApprovalState.ConvertToString(), Locations = r.ReservationLocations.ToList(), Resources = r.ReservationResources.ToList(), CalendarDate = r.EventStartDateTime.ToLongDateString(), EventStartDateTime = r.EventStartDateTime, EventEndDateTime = r.EventEndDateTime, ReservationStartDateTime = r.ReservationStartDateTime, ReservationEndDateTime = r.ReservationEndDateTime, EventDateTimeDescription = r.EventTimeDescription, ReservationDateTimeDescription = r.ReservationTimeDescription, Ministry = r.ReservationMinistry, ContactInfo = String.Format("{0} {1}", r.EventContactPersonAlias.Person.FullName, r.EventContactPhoneNumber), SetupPhotoId = r.SetupPhotoId, Note = r.Note }) .OrderBy(r => r.EventStartDateTime) .GroupBy(r => r.EventStartDateTime.Date) .Select(r => r.ToList()) .ToList(); var mergeFields = new Dictionary <string, object>(); mergeFields.Add("ReservationSummaries", reservationSummaries); mergeFields.Add("FilterStartDate", filterStartDateTime); mergeFields.Add("FilterEndDate", filterEndDateTime); mergeFields.Add("ImageUrl", logoFileUrl.EncodeHtml()); mergeFields.Add("ReportFont", font); mergeFields.Add("CheckMark", new Phrase("\u0034", zapfdingbats).ToString()); string mergeHtml = lavaTemplate.ResolveMergeFields(mergeFields); //Setup the document StringReader stringReader = new StringReader(mergeHtml); var document = new Document(PageSize.LETTER.Rotate(), 25, 25, 25, 25); HTMLWorker htmlWorker = new HTMLWorker(document); using (var outputStream = new MemoryStream()) { var writer = PdfWriter.GetInstance(document, outputStream); document.Open(); htmlWorker.Parse(stringReader); document.Close(); return(outputStream.ToArray()); } }
private void ConvertToPDF(string ApplicationId) { string imagepath = Server.MapPath("~/Images"); Response.Cache.SetCacheability(HttpCacheability.NoCache); StringWriter sw = new StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(sw); this.Page.RenderControl(hw); StringReader sr = new StringReader(sw.ToString()); Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f); HTMLWorker htmlparser = new HTMLWorker(pdfDoc); //string fromusername = ConfigurationManager.AppSettings["userNameEmail"]; //string Tousername = ConfigurationManager.AppSettings["TouserName"]; //string EmailPassword = ConfigurationManager.AppSettings["EmailPassword"]; //string cc1username = ConfigurationManager.AppSettings["NotificationtoDepartment1"]; //string cc2username = ConfigurationManager.AppSettings["NotificationtoDepartment2"]; using (MemoryStream memoryStream = new MemoryStream()) { iTextSharp.text.Image addLogo = default(iTextSharp.text.Image); // iTextSharp.text.Image gif = iTextSharp.text.Image.GetInstance(imagepath + "/mudra.jpg"); addLogo = iTextSharp.text.Image.GetInstance(imagepath + "/logo.png"); iTextSharp.text.Image BankLogo = default(iTextSharp.text.Image); // iTextSharp.text.Image gif = iTextSharp.text.Image.GetInstance(imagepath + "/mudra.jpg"); BankLogo = iTextSharp.text.Image.GetInstance(imagepath + "/logo.png"); PdfWriter writer = PdfWriter.GetInstance(pdfDoc, memoryStream); // addLogo.SetAbsolutePosition(0, docWorkingDocument.PageSize.Height - 100) pdfDoc.Open(); addLogo.ScaleToFit(128, 37); addLogo.Alignment = iTextSharp.text.Image.ALIGN_LEFT; pdfDoc.Add(addLogo); htmlparser.Parse(sr); pdfDoc.Close(); byte[] bytes = memoryStream.ToArray(); memoryStream.Close(); // Added by Anand Dated on 04-10-2018 ObjEmailSchema.ApplicationID = ApplicationId; string Mobile = string.Empty; ds = new DataSet(); ds = objemail.GetEmailDetails(ObjEmailSchema); if (ds != null && ds.Tables[0].Rows.Count > 0) { string t_XMLName = HttpContext.Current.Server.MapPath("~/APP_Data/MailConfig.XML"); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(t_XMLName); XmlNode xnod = xmlDoc.DocumentElement; XmlNodeList nodeList = xnod.SelectNodes("Mail"); Mobile = ds.Tables[0].Rows[0]["MobileNo"].ToString().Trim(); objSendSMS.SMSSend(Mobile, ObjEmailSchema.ApplicationID, "application"); foreach (XmlNode _node in nodeList) { string SMTPstr = string.Empty, Portstr = string.Empty, FromEamil = string.Empty, To = string.Empty, Subject = string.Empty, Body = string.Empty, BodyU = string.Empty, FromEmailPwd = string.Empty; //SMTPstr = _node.SelectSingleNode("host").InnerText.Trim(); //Portstr = _node.SelectSingleNode("port").InnerText.Trim(); //FromEamil = _node.SelectSingleNode("from").InnerText.Trim(); //FromEmailPwd = _node.SelectSingleNode("pwd").InnerText.Trim(); String SMTP_HOST_NAME = ConfigurationManager.AppSettings["host"]; String SMTP_AUTH_USER = ConfigurationManager.AppSettings["FromEmail"]; String SMTP_AUTH_PWD = ConfigurationManager.AppSettings["EmailPassword"]; if (_node.Attributes["Profile"].Value.ToString().ToLower() == "pmmycustomer") { To = ds.Tables[0].Rows[0]["CustEmailID"].ToString().Trim(); Subject = _node.SelectSingleNode("subject").InnerText.Trim(); Body = _node.SelectSingleNode("body").InnerText.Trim(); Subject = Subject.Replace("#ApplicationID", ds.Tables[0].Rows[0]["ApplicationID"].ToString().Trim()); Subject = Subject.Replace("#LoanType", ds.Tables[0].Rows[0]["LoanType"].ToString().Trim()); Body = Body.Replace("#ApplicantName", ds.Tables[0].Rows[0]["ApplicantName"].ToString().Trim()); Body = Body.Replace("#ApplicationID", ds.Tables[0].Rows[0]["ApplicationID"].ToString().Trim()); Body = Body.Replace("#LoanType", ds.Tables[0].Rows[0]["LoanType"].ToString().Trim()); Body = Body.Replace("#ApplicationDate", ds.Tables[0].Rows[0]["ApplicationDate"].ToString().Trim()); } if (_node.Attributes["Profile"].Value.ToString().ToLower() == "pmmydpo") { //To = ds.Tables[0].Rows[0]["DPOEmailID"].ToString().Trim(); To = "*****@*****.**"; Subject = _node.SelectSingleNode("subject").InnerText.Trim(); Body = _node.SelectSingleNode("body").InnerText.Trim(); Subject = Subject.Replace("#ApplicationID", ds.Tables[0].Rows[0]["ApplicationID"].ToString().Trim()); Subject = Subject.Replace("#LoanType", ds.Tables[0].Rows[0]["LoanType"].ToString().Trim()); Body = Body.Replace("#ApplicantName", ds.Tables[0].Rows[0]["ApplicantName"].ToString().Trim()); Body = Body.Replace("#ApplicationID", ds.Tables[0].Rows[0]["ApplicationID"].ToString().Trim()); Body = Body.Replace("#LoanType", ds.Tables[0].Rows[0]["LoanType"].ToString().Trim()); } if (_node.Attributes["Profile"].Value.ToString().ToLower() == "pmmybank") { //To = ds.Tables[0].Rows[0]["BankEmailID"].ToString().Trim(); To = "*****@*****.**"; Subject = _node.SelectSingleNode("subject").InnerText.Trim(); Body = _node.SelectSingleNode("body").InnerText.Trim(); Subject = Subject.Replace("#ApplicationID", ds.Tables[0].Rows[0]["ApplicationID"].ToString().Trim()); Subject = Subject.Replace("#LoanType", ds.Tables[0].Rows[0]["LoanType"].ToString().Trim()); Body = Body.Replace("#ApplicantName", ds.Tables[0].Rows[0]["ApplicantName"].ToString().Trim()); Body = Body.Replace("#ApplicationID", ds.Tables[0].Rows[0]["ApplicationID"].ToString().Trim()); Body = Body.Replace("#LoanType", ds.Tables[0].Rows[0]["LoanType"].ToString().Trim()); } if (To.ToString() != "" || To.ToString().Trim() != string.Empty) { SmtpClient client = new SmtpClient(); client.Port = Convert.ToInt16(ConfigurationManager.AppSettings["port"]); client.Host = SMTP_HOST_NAME; client.EnableSsl = true; client.Timeout = 600000; client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential(SMTP_AUTH_USER, SMTP_AUTH_PWD); MailMessage mm = new MailMessage(SMTP_AUTH_USER, To, Subject, Body); mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "" + Convert.ToString(ApplicationId) + ".pdf")); mm.IsBodyHtml = true; mm.BodyEncoding = UTF8Encoding.UTF8; mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure; ServicePointManager.ServerCertificateValidationCallback = delegate(object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) { return(true); }; client.Send(mm); //using (MailMessage mm = new MailMessage(FromEamil, To)) //{ // mm.Subject = Subject; // mm.Body = Body; // mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "" + Convert.ToString(ApplicationId) + ".pdf")); // mm.IsBodyHtml = true; // using (SmtpClient smtp = new SmtpClient()) // { // smtp.Host = SMTPstr; // smtp.EnableSsl = true; // NetworkCredential NetworkCred = new NetworkCredential(); // NetworkCred.UserName = FromEamil;//"[email protected] "; // NetworkCred.Password = FromEmailPwd;//"Pass@123"; // smtp.UseDefaultCredentials = true; // smtp.Credentials = NetworkCred; // smtp.Port = Convert.ToInt16(Portstr); // smtp.TargetName = "STARTTLS/smtp.gmail.com"; // //ServicePointManager.ServerCertificateValidationCallback = delegate (object s, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) // //{ return true; }; // smtp.Send(mm); // } //} } } Response.Redirect("FrmPMMYLoanForm.aspx"); } //End 04-10-2018 } }
public ActionResult Index(FormCollection coll) { var ID = coll["rowcount"]; for (int j = 1; j <= Convert.ToInt32(ID); j++) { var guest = coll["Guest" + j]; var guestname = coll["guestname" + j]; if (guest != null && guestname != null) { Session["PRNO" + j] = coll["guestid" + j]; Session["guestname" + j] = coll["guestname" + j]; if (Session["PRNO" + j] != null) { var id1 = coll["rowcount1"]; for (int i = 1; i <= Convert.ToInt32(id1); i++) { Feast_Details feast = new Feast_Details(); string PRNO = ""; try { PRNO = Session["PRNO" + j].ToString(); } catch { PRNO = null; } feast.PRNO = PRNO; string guestname1 = ""; try { guestname1 = Session["guestname" + j].ToString(); } catch { guestname1 = null; } feast.Guest_name = guestname1; string feastname = ""; try { feastname = coll["itemcode" + i].ToString(); } catch { feastname = null; } feast.Feast_Time = TimeSpan.Parse(coll["itemname" + i].ToString()); feast.Feast_Name = feastname; feast.Created_dt = DateTime.Today; db.Feast_Details.Add(feast); db.SaveChanges(); } var id2 = coll["rowcount2"]; for (int k = 1; k <= Convert.ToInt32(id2); k++) { Dinacharya_Treatment dnt = new Dinacharya_Treatment(); string PRNO = ""; try { PRNO = Session["PRNO" + j].ToString(); } catch { PRNO = null; } dnt.PRNO = PRNO; string guestname1 = ""; try { guestname1 = Session["guestname" + j].ToString(); } catch { guestname1 = null; } dnt.Guest_name = guestname1; dnt.From_Time = TimeSpan.Parse(coll["from" + k].ToString()); dnt.To_Time = TimeSpan.Parse(coll["to" + k].ToString()); string Treatment = ""; try { Treatment = coll["Treatment" + k].ToString(); } catch { Treatment = null; } dnt.Treatment_Name = Treatment; dnt.Created_dt = DateTime.Today; db.Dinacharya_Treatment.Add(dnt); db.SaveChanges(); } var gt = Session["PRNO" + j].ToString(); DateTime date = DateTime.Today; var list = db.Feast_Details.Where(a => a.PRNO == gt && a.Created_dt == date).ToList(); var list1 = db.Dinacharya_Treatment.Where(a => a.PRNO == gt && a.Created_dt == date).ToList(); //string mheader = " <div style='border:groove;background-color:aliceblue;'><div style='font-weight:bold;text-align:center;width:100%;'><center><a href='http://pemawellness.co/Index/index'><img src='http://pemawellness.co/images/logo1.png'></a></center></div> <div><center><p style='font-size:30px;'><b>Dinacharya</b></p></center></div>"; string mfooter = "<div><div><span>*<span>Your arrival on time for the treatment will be appreciated and will not cause anyinconvenience for the following guests.</p></div></div>"; //StringBuilder mbody; //string smtpAddress = "smtp.gmail.com"; //int portNumber = 587; //bool enableSSL = true; //string emailFrom = "*****@*****.**"; //string password = "******"; //string emailTo1 = "*****@*****.**"; //string emailTo2 = "*****@*****.**"; //string subject = "Dinacharya"; StringBuilder mbody = new StringBuilder(); //mbody.Append(mheader); mbody.Append("<div style='background-color: aliceblue;'>"); mbody.Append("<div>"); mbody.Append("<img src='http://pemawellness.co/images/logo1.png'>"); mbody.Append("</div>"); mbody.Append("<div><center><p style='font-size:30px;'><b>Dinacharya</b></p></center></div>"); mbody.Append("<br>"); //mbody.Append("<div></div>"); //mbody.Append("<div><table style='font-size:15px;'><tr><td>PRNO :</td><td>" + list[0].PRNO+ " </td><td>Name :</td><td>" + list[0].Guest_name + " </td><td>Date :</td><td>" + DateTime.Now + "</td></tr></table></div>"); mbody.Append("<div><table style='font-size:15px;'><tr><td style='width:30%;'>PRNO :</td><td>" + list[0].PRNO + " </td></tr>"); mbody.Append("<tr><td style='width:30%;'>Name :</td><td>" + list[0].Guest_name + " </td></tr>"); mbody.Append("<tr><td style='width:30%;'>Date :</td><td>" + DateTime.Now + "</td></tr>"); mbody.Append("</table></div>"); //mbody.Append("<hr>"); mbody.Append("<br>"); //mbody.Append("<hr>"); mbody.Append("<div style='font-size: 18px;'><b style:color:black;>FEAST PLAN </b></div>"); mbody.Append("<br>"); mbody.Append("<div style='font-size: 15px;'><table style='width:100%;color: black;'>"); mbody.Append("<thead><tr><th style='width:25%;text-align: -webkit-left;'>Timings</th><th style='width:30%;text-align: -webkit-left;'>Feast Name</th></tr></thead>"); for (int i = 0; i < list.Count(); i++) { mbody.Append("<tbody><tr><td style='width:25%'>" + DateTime.ParseExact(list[i].Feast_Time.ToString(), "HH:mm:ss", CultureInfo.InvariantCulture).ToShortTimeString() + "</td><td style='width:30%'>" + '-' + " " + list[i].Feast_Name + "</td></tr></tbody>"); } mbody.Append("</table></div>"); mbody.Append("<br>"); mbody.Append("<br>"); mbody.Append("<div style='font-size: 18px;'><b style:color:black;>HEALING PLAN FOR THE DAY</b></div>"); mbody.Append("<br>"); mbody.Append("<div style='font-size: 15px;'><table style='width:100%;color: black;'>"); mbody.Append("<thead><tr><th style='width:25%;text-align: -webkit-left;'>From-To</th><th style='width:30%;text-align: -webkit-left;'>Treatment Name</th></tr></thead>"); for (int h = 0; h < list1.Count(); h++) { mbody.Append("<tbody><tr><td style='width:25%'>" + DateTime.ParseExact(list1[h].From_Time.ToString(), "HH:mm:ss", CultureInfo.InvariantCulture).ToShortTimeString() + "-" + DateTime.ParseExact(list1[h].To_Time.ToString(), "HH:mm:ss", CultureInfo.InvariantCulture).ToShortTimeString() + "</td><td style='width:30%'>" + '-' + " " + list1[h].Treatment_Name + "</td></tr></tbody>"); } mbody.Append("</table></div>"); mbody.Append("<br>"); mbody.Append("<br>"); mbody.Append(mfooter); mbody.Append("<br>"); mbody.Append("<div><p>Thank You</p></div></div>"); StringReader sr = new StringReader(mbody.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(); string fromEmail = "*****@*****.**"; MailMessage mm = new MailMessage(); //string emailFrom = "*****@*****.**"; //string password = "******"; string emailto1 = "*****@*****.**"; //string emailto2 = "*****@*****.**"; mm.To.Add(emailto1); // mm.To.Add(emailto2); mm.From = new MailAddress(fromEmail); mm.Subject = "Dinacharya"; mm.Body = "Thanks for your time, Please find the attached Dinacharya"; mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "Dinacharya.pdf")); mm.IsBodyHtml = true; SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.EnableSsl = true; NetworkCredential NetworkCred = new NetworkCredential(); NetworkCred.UserName = "******"; NetworkCred.Password = "******"; smtp.UseDefaultCredentials = true; smtp.Credentials = NetworkCred; smtp.Port = 587; smtp.Send(mm); string path = ConfigurationManager.AppSettings["folderpath1"]; //string path = Server.MapPath("DinacharyaReportsForK"); string path1 = list[0].PRNO; string newpath = path + path1; bool IsExists = System.IO.Directory.Exists(Server.MapPath(path1)); if (!IsExists) { System.IO.Directory.CreateDirectory(newpath); } var newpt = newpath + "\\" + DateTime.Now.ToString("ddMMyyyyHHmmss") + "Dinacharya.pdf"; System.IO.File.WriteAllBytes(newpath + "\\" + DateTime.Now.ToString("ddMMyyyyHHmmss") + "Dinacharya.pdf", bytes); //string targetpath1 = ConfigurationManager.AppSettings["folderpath1"]; //string path = Server.MapPath("DinacharyaReportsForK"); //string path1 = list[0].PRNO + "\\Dinacharya.pdf"; // //System.IO.File.WriteAllBytes(newpath, bytes); //System.IO.Directory.CreateDirectory(newpath); } //using (MailMessage mail = new MailMessage()) //{ // mail.From = new MailAddress(emailFrom); // mail.To.Add(emailTo1); // mail.To.Add(emailTo2); // //mail.To.Add(emailTo3); // mail.Subject = subject; // mail.Body = mbody.ToString(); // mail.IsBodyHtml = true; // // Can set to false, if you are sending pure text. // using (SmtpClient smtp = new SmtpClient(smtpAddress, portNumber)) // { // smtp.Credentials = new NetworkCredential(emailFrom, password); // smtp.EnableSsl = enableSSL; // smtp.Send(mail); // } //} return(Content("<script>alert('Request Submitted Successfully');window.location = '/Dinacharya/Index'</script>")); } } } return(View()); }
public string GetRecibo(string tranferId, string username, string numReceipt, string date, string nAffiliate, string typeMembresia, string namePeson, string hour, string detalle, string quotesPendiente, string concepto) { string fechaVar = DateTime.Now.ToString("yyyyMMddHHmmss"); string nameTicket = username + "_" + tranferId + fechaVar; string dni = username.Substring(2, (username.Length - 2)); using (Document document = new Document(PageSize.A4, 10, 10, 10, 10)) { string rutaImg = HttpContext.Current.Server.MapPath("~/Resources/Images/"); string ruta = HttpContext.Current.Server.MapPath("~/Resources/RecibosRegister/") + nameTicket + ".pdf"; FileStream stream = new FileStream(ruta, FileMode.Create); PdfWriter.GetInstance(document, stream); document.Open(); string cadenfinal = string.Empty; cadenfinal += "<!DOCTYPE html ><html><head><title></title></head><body>"; cadenfinal += "<div style='font-family: sans-serif;display: block;padding:20px;margin:10px auto;width:700px;height: 700px;background-color: white;'>"; cadenfinal += "<div><img src='" + rutaImg + "rec.png' style='position: absolute;top: 24%;left:28%;opacity: 0.1;z-index:1;width:515px;'></div>"; cadenfinal += "<div style='display:block;margin:10px auto;text-align: center;' ><h2><b> VALLE ENCANTADO S.A.C </b></h2>"; cadenfinal += "<h4><b> RUC 20601460271 </b></h4></div><div style='display: flex;justify-content: space-between;'>"; //cadenfinal += "<div style='display:block' ><div style='margin:5px 0'><b> Nro. MEMBRESIA:</b> AR00101 </div>"; cadenfinal += "<div style='display:block' ><div style='margin:5px 0'><b> Codigo:</b> " + username + " </div>"; cadenfinal += "<label><b> Nombre: </b> " + namePeson.ToUpper() + "</label></div><div><div><b> Codido Membresia: </b>" + typeMembresia + "</div>"; cadenfinal += "<label><b> DNI: </b> " + dni + " </label></div></div><div style = 'margin:15px auto;'><label><B> Codigo de operacion: </B> " + tranferId + " </label>"; cadenfinal += "</div>"; cadenfinal += "<div style='margin: 15px auto' ><b> Fecha: </b>" + date + " HORA: " + hour + " </div>"; cadenfinal += "<div style='margin: 15px auto' ><b> Concepto: </b> " + concepto + " </div>"; cadenfinal += "<div style='margin: 15px auto' ><b> Monto: </b>" + detalle + " </div>"; cadenfinal += "<div style='margin: 15px auto' ><b> Cuotas pendientes: </b>" + quotesPendiente + " </div>"; cadenfinal += "</div></body></html>"; var styles = new StyleSheet(); Dictionary <string, string> cuadro = new Dictionary <string, string>(); cuadro.Add("font-family", "sans-serif"); cuadro.Add("display", "block"); cuadro.Add("padding", "20px"); cuadro.Add("margin", "10px auto"); cuadro.Add("width", "700px"); cuadro.Add("height", "700px"); cuadro.Add("background-color", "green"); styles.LoadStyle("cuadro", cuadro); var parsehtml = HTMLWorker.ParseToList(new StringReader(cadenfinal), null); foreach (var htmlElement in parsehtml) { document.Add(htmlElement as IElement); } document.Close(); } return(nameTicket + ".pdf"); }
public void ExportToPDF(DataTable dt) { string filena = Session["filename"].ToString(); string address = Session["Address"].ToString(); string TitleName = Session["TitleName"].ToString(); string title = Session["title"].ToString(); string filename = ""; if (filena != "" && filena != null) { filename = filena; } else { filename = "Report"; } if (filename == "Total Deduction" || filename == "Employeedetails" || filename == "Employeebankdetails" || filename == "Organisetionflowdetails") { } else { using (StringWriter sw = new StringWriter()) { using (HtmlTextWriter hw = new HtmlTextWriter(sw)) { StringBuilder sb = new StringBuilder(); sb.Append("<table width='100%' cellspacing='0' cellpadding='2'>"); sb.Append("<tr><td align='center' style='background-color: #18B5F0' colspan = '2'><b>Order Sheet</b></td></tr>"); sb.Append("<tr><td colspan = '2'></td></tr>"); sb.Append("<tr><td><b>Order No: </b>"); // sb.Append(orderNo); 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(companyName); 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 = 'background-color: #D20B0C;color:#777;width:150px;'>"); 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' colspan = '"); //sb.Append(dt.Columns.Count - 1); //sb.Append("'>Total</td>"); //sb.Append("<td>"); //sb.Append(dt.Compute("sum(Total)", "")); //sb.Append("</td>"); sb.Append("</table>"); //Export HTML String as PDF. StringReader sr = new StringReader(sb.ToString()); Document pdfDoc = new Document(PageSize.A3, 0f, 0f, 0f, 0f); Document doc = new Document(new RectangleReadOnly(842, 595), 88f, 88f, 10f, 10f); HTMLWorker htmlparser = new HTMLWorker(pdfDoc); PdfWriter writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream); pdfDoc.Open(); htmlparser.Parse(sr); pdfDoc.Close(); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment;filename=" + filename + ".pdf"); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Write(pdfDoc); Response.End(); } } } }
public void Cronograma2(int _nAfiliate, string _cc, string correlativo) { string[] arrayLogin = HttpContext.Current.User.Identity.Name.Split('¬'); string tipocambio = "", numerodecuotas = "", nombre = "", dni = "", domicilio = "", distrito = "", correo = "", telefono = "", codemem = ""; string username = "", fecha = ""; //Session["cronogramaya"] = "6857.5|6142.5|0|11/2/2018¬89.57|24|10|Mensual^Inicial nro: 1|11/2/2018|S/. 6857.5|S/. 715|S/. 0|S/. 715¬Inicial nro: 2|12/2/2018|S/. 6142.5|S/. 800|S/. 0|S/. 800¬Inicial nro: 3|1/2/2018|S/. 5342.5|S/. 1000|S/. 0|S/. 1000¬Cuota nro: 1|11/1/2018|S/. 4342.5|S/. 164.89|S/. 34.63|S/. 199.52¬Cuota nro: 2|12/1/2018|S/. 4177.61|S/. 166.21|S/. 33.31|S/. 199.52¬Cuota nro: 3|1/1/2019|S/. 4011.4|S/. 167.53|S/. 31.99|S/. 199.52¬Cuota nro: 4|2/1/2019|S/. 3843.87|S/. 168.87|S/. 30.65|S/. 199.52¬Cuota nro: 5|3/1/2019|S/. 3675|S/. 170.22|S/. 29.3|S/. 199.52¬Cuota nro: 6|4/1/2019|S/. 3504.78|S/. 171.57|S/. 27.95|S/. 199.52¬Cuota nro: 7|5/1/2019|S/. 3333.21|S/. 172.94|S/. 26.58|S/. 199.52¬Cuota nro: 8|6/1/2019|S/. 3160.27|S/. 174.32|S/. 25.2|S/. 199.52¬Cuota nro: 9|7/1/2019|S/. 2985.95|S/. 175.71|S/. 23.81|S/. 199.52¬Cuota nro: 10|8/1/2019|S/. 2810.24|S/. 177.11|S/. 22.41|S/. 199.52¬Cuota nro: 11|9/1/2019|S/. 2633.13|S/. 178.52|S/. 21|S/. 199.52¬Cuota nro: 12|10/1/2019|S/. 2454.61|S/. 179.95|S/. 19.57|S/. 199.52¬Cuota nro: 13|11/1/2019|S/. 2274.66|S/. 181.38|S/. 18.14|S/. 199.52¬Cuota nro: 14|12/1/2019|S/. 2093.28|S/. 182.83|S/. 16.69|S/. 199.52¬Cuota nro: 15|1/1/2020|S/. 1910.45|S/. 184.29|S/. 15.23|S/. 199.52¬Cuota nro: 16|2/1/2020|S/. 1726.16|S/. 185.76|S/. 13.76|S/. 199.52¬Cuota nro: 17|3/1/2020|S/. 1540.4|S/. 187.24|S/. 12.28|S/. 199.52¬Cuota nro: 18|4/1/2020|S/. 1353.16|S/. 188.73|S/. 10.79|S/. 199.52¬Cuota nro: 19|5/1/2020|S/. 1164.43|S/. 190.24|S/. 9.29|S/. 199.52¬Cuota nro: 20|6/1/2020|S/. 974.19|S/. 191.75|S/. 7.77|S/. 199.52¬Cuota nro: 21|7/1/2020|S/. 782.44|S/. 193.28|S/. 6.24|S/. 199.52¬Cuota nro: 22|8/1/2020|S/. 589.16|S/. 194.82|S/. 4.7|S/. 199.52¬Cuota nro: 23|9/1/2020|S/. 394.34|S/. 196.38|S/. 3.14|S/. 199.52¬Cuota nro: 24|10/1/2020|S/. 197.96|S/. 197.94|S/. 1.58|S/. 199.52¬~446.01~4788.5"; //Session["datos"] = "Nombre|Apellidos|birthDay|M|DocumentType|NroDoc$NombreC|ApellidoC|1|313231c$bankName|nombreBankAccount|TypeAccount|nroAccount|nroTaxer|SocialReason|fiscalAdress|UserType$email|nroCell|nroCell2|country|State|City|Adress"; //Session["carrito"] = "6000.00|descripcionDB|60|9750.00|3.25|10|TOP"; string[] datos = Session["datos"].ToString().Split('$'); string[] carrito = Session["carrito"].ToString().Split('|'); string[] cronograma = Session["cronogramaYa"].ToString().Split('|'); string[] arrayperson = datos[0].Split('|'); string[] arraycontacto = datos[3].Split('|'); string totaldolares = cronograma[0]; string primeracuota = carrito[3]; tipocambio = carrito[4]; decimal typeChange = decimal.Parse(tipocambio); numerodecuotas = carrito[2]; codemem = carrito[1]; nombre = arrayperson[0].ToUpper() + " " + arrayperson[1].ToUpper(); dni = arrayperson[5]; username = (arrayperson[0].Substring(0, 1) + arrayperson[1].Substring(0, 1) + dni).ToUpper(); domicilio = arraycontacto[6]; distrito = arraycontacto[5]; correo = arraycontacto[0]; telefono = arraycontacto[1]; fecha = DateTime.Now.ToString("dd-MM-yyyy"); MyFunctions mf = new MyFunctions(); MyConstants mc = new MyConstants(); string[] array1 = Session["cronogramaYa"].ToString().Split('^'); string[] datosMem = array1[0].Split('|'); string[] array2 = array1[1].Split('~'); string[] cuotas = array2[0].Split('¬'); decimal totalpagar = 0, interestotal = 0, importefinanciado = 0, porcefinanciado = 0; int ncuotas = 0, interruptor = 0; for (int i = 0; i < cuotas.Length - 1; i++) { var fila = cuotas[i].Split('|'); if (fila[0].Substring(0, 7) != "Inicial") { totalpagar += decimal.Parse(fila[5].Replace("S/.", "")); interestotal += decimal.Parse(fila[4].Replace("S/.", "")); ncuotas++; if (interruptor != 1) { interruptor = 1; importefinanciado = decimal.Parse(fila[2].Replace("S/.", "")); Session["financedAmount"] = importefinanciado; } } } porcefinanciado = (importefinanciado * 100) / decimal.Parse(datosMem[0]); using (Document document = new Document(PageSize.A4, 10, 10, 10, 10)) { string ruta = HttpContext.Current.Server.MapPath("~/Resources/PoliticsPdf/") + $"CRO{username}{correlativo}.pdf"; string datecur = DateTime.Now.ToString("yyyy;MM;dd;hh;mm;ss;fff"); string destin = HttpContext.Current.Server.MapPath("~/Resources/trash/") + "CRO" + username + correlativo + datecur + ".pdf"; if (File.Exists(ruta)) { File.Move(ruta, destin); } FileStream stream = new FileStream(ruta, FileMode.Create); PdfWriter.GetInstance(document, stream); document.Open(); string cadenfinal = string.Empty; cadenfinal += "<div style='text-align: center;font-family:cambria;font-size: 12pt;font-weight: bold;'>CRONOGRAMA DE PAGOS</div>"; cadenfinal += "<p style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Número de Membresia: AR" + _nAfiliate.ToString("00000") + " </p>"; cadenfinal += "<p style='font-family:cambria;font-size: 10pt;line-height: 13px;'>Código: " + username + " </p>"; //cadenfinal += "<p style='font-family:cambria;font-size: 10pt;line-height: 13px;'><b>Nombre:</b>" + datosMem[0] + "</p>"; //cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'>Importe Membresia: S/. " + datosMem[0] + "</p>"; cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'>Nombre del Cliente: " + nombre + " </p>"; cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'>Documento de Identidad: " + dni + "</p>"; cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'>Correo Electronico: " + correo + " </p>"; cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'>Telefono de Contacto: " + telefono + " </p>"; cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'>Producto: Membresia " + codemem + "</p>"; cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'> </p>"; // cadenfinal += "<br/> <table ><tr>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Importe de la Membresia </td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> " + mf.GetAmountCurrency(datosMem[0], _cc, typeChange) + " " + _cc + "</td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>% Financiamiento </td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> " + porcefinanciado.ToString("0.00") + "% </td></tr>"; cadenfinal += "<tr><td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Importe Financiado </td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> " + mf.GetAmountCurrency(importefinanciado.ToString(), _cc, typeChange) + " " + _cc + " </td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Cuotas a Pagar </td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>" + ncuotas + " </td></tr>"; cadenfinal += "<tr><td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Cantidad Total a Pagar </td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> " + mf.GetAmountCurrency(totalpagar.ToString(), _cc, typeChange) + " " + _cc + " </td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Tasa Efectiva Anual </td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> " + mc.AmountInteresAnual.ToString() + " %</td></tr>"; cadenfinal += "<tr><td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Monto total de Interes </td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> " + mf.GetAmountCurrency(interestotal.ToString(), _cc, typeChange) + " " + _cc + " </td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Periodicidad </td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> Mensual </td></tr>"; cadenfinal += "<tr><td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Fecha Emision Cronograma</td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> " + fecha + " </td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> </td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> </td></tr>"; cadenfinal += "</tr></table>"; cadenfinal += "<table border='1' height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>"; cadenfinal += "<tr height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>"; cadenfinal += "<th height='100' bgcolor='#858282' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>N°</th>"; cadenfinal += "<th height='100' bgcolor='#858282' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Vencimiento</th>"; cadenfinal += "<th height='100' bgcolor='#858282' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Capital</th>"; cadenfinal += "<th height='100' bgcolor='#858282' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Amortizacion</th>"; cadenfinal += "<th height='100' bgcolor='#858282' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Interes</th>"; cadenfinal += "<th height='100' bgcolor='#858282' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>Cuota</th>"; cadenfinal += "</tr>"; for (int i = 0; i < cuotas.Length - 1; i++) { var fila = cuotas[i].Split('|'); cadenfinal += "<tr height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'> " + fila[0] + "</td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>" + DateTime.Parse(fila[1]).ToString("dd-MM-yyyy") + " </td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>" + mf.GetAmountCurrency(fila[2].Replace("S/.", ""), _cc, typeChange) + " " + _cc + "</td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>" + mf.GetAmountCurrency(fila[3].Replace("S/.", ""), _cc, typeChange) + " " + _cc + "</td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>" + mf.GetAmountCurrency(fila[4].Replace("S/.", ""), _cc, typeChange) + " " + _cc + "</td>"; cadenfinal += "<td height='100' style='font-family:cambria;font-size: 10pt;line-height: 8px;'>" + mf.GetAmountCurrency(fila[5].Replace("S/.", ""), _cc, typeChange) + " " + _cc + "</td>"; cadenfinal += "</tr>"; } cadenfinal += "</table>"; cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'>Este Cronograma se elabora bajo el supuesto cumpliento de pagos de las cuotas en las fechas indicadas.Cualquier alteracion en los pagos o en las condiciones del financiamiento,deja sin efecto este documento.</p>"; cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'>El atraso de una cuota mensual por mas de 8 días generará una penalidad de S/.30 soles.</p>"; cadenfinal += "<p style='text-align: justify;font-family:cambria;font-size: 10pt;line-height: 13px;'>Si tuviera alguna consulta sirvase comunicarse con su asesor de membresías o a la línea de atención al cliente (01)-434-9481.</p>"; cadenfinal += "<br />"; cadenfinal += "<br />"; cadenfinal += "<br />"; cadenfinal += "<div style='text-align: right;'>"; cadenfinal += "<div style='text-align: left;width: 200px;margin-left:100px' > _____________________________</div>"; cadenfinal += "<div style='text-align: left;width: 200px;margin-left:100px'> Omar Urteaga Cabrera</div>"; cadenfinal += "<div style='text-align: left;width: 200px;margin-left:100px'> Gerente General</div>"; cadenfinal += "<div style='text-align: left;width: 200px;margin-left:100px'> Ribera del Rio Club Resort</div>"; cadenfinal += "</div>"; var parsehtml = HTMLWorker.ParseToList(new StringReader(cadenfinal), null); foreach (var htmlElement in parsehtml) { document.Add(htmlElement as IElement); } document.Close(); } }
public void generatePdf() { Document pdfDoc = new Document(PageSize.A4, 10, 10, 10, 10); Proyecto proyecto = crudProyecto.nomProyecto(Convert.ToInt16(vistaCertificaciones.SelectedRow.Cells[7].Text)); String nombreProyecto = proyecto.nomProyecto; try { PdfWriter.GetInstance(pdfDoc, System.Web.HttpContext.Current.Response.OutputStream); DateTime thisDay = DateTime.Today; //Open PDF Document to write data pdfDoc.Open(); string cadenaFinal = ""; String encabezado = ""; String firma = "<br><br><br><br><br><br><p>___________________________ ___________________________<br>" + " Ing:" + Convert.ToString(crudMaestro.nombreDirector(Convert.ToInt16(vistaCertificaciones.SelectedRow.Cells[7].Text))) + " Ing:" + lblNombre.Text + "" + "<br> DIRECTOR DEL PROYECTO" + " DIRECTO DE VINCULACIÓN</p>"; String tituloUniversidad = "<br><br><br><br><p align='center' FONT FACE='times new roman'FONT SIZE=5><b>UNIVERSIDAD DE LAS FUERZAS ARMADAS ESPE <br>" + "VIERRECTORADO DE INVESTIGACIÓN, INNOVACIÓN Y TRASNFERENCIA DE TECNOLOGÍA <br>" + "UNIDAD DE VINCULACION CON LA SOCIEDAD</b></p><br><br>"; String cuerpo; string pathEspe = Server.MapPath("/Imagenes/Logo_ESPE.png"); string pathVincuacion = Server.MapPath("/Imagenes/logo-vinculacion.png"); encabezado = "<TABLE><TR><TD><img src='" + pathEspe + "' Height='100' Width='100'/>" + "</TD><TD><TD></TD></TD><TD><img src='" + pathVincuacion + "' Height='100' Width='100'/></TD></TR></TABLE>"; cuerpo = "<br><br><p FONT FACE='times new roman' align='justify'FONT SIZE=5>Señor <b>" + vistaCertificaciones.SelectedRow.Cells[3].Text + " " + vistaCertificaciones.SelectedRow.Cells[4].Text + "</b>" + ", con cédula de ciudadanía, <b>" + vistaCertificaciones.SelectedRow.Cells[2].Text + "</b></br>." + "Quien participo en el Proyecto de Vinculación con la Sociedad, " + nombreProyecto + " " + "cumpliendo con un total de<b> " + Convert.ToString(crudEstudiante.numHoras(Convert.ToInt16(vistaCertificaciones.SelectedRow.Cells[1].Text))) + "" + " </b>horas de servicio a la comunidad, a partir del <b> " + Convert.ToString(Convert.ToDateTime(proyecto.fechaInicio).ToString("yyyy-MM-dd").ToString()) + "</b>, hasta <b>" + Convert.ToString(thisDay.ToString("d")) + "</b>.</p>"; //encabezado = "<img src='" + pathEspe + "' Height='320' Width='350'/>"; //cadenaFinal += "<TABLE BORDER='1'><TR><TD>NOMBRE :</TD><TD>GILMER</TD></TR>" +"<br></br>"+ // "<TR><TD>APELLIDO :</TD><TD>MELGAREJO LIMAS</TD></TR>" + // "<TR><TD>EDAD :</TD><TD>24</TD></TR></TABLE>"; cadenaFinal = encabezado + tituloUniversidad + cuerpo + firma; //Assign Html content in a string to write in PDF string strContent = cadenaFinal; //Read string contents using stream reader and convert html to parsed conent var parsedHtmlElements = HTMLWorker.ParseToList(new StringReader(strContent), null); //Get each array values from parsed elements and add to the PDF document foreach (var htmlElement in parsedHtmlElements) { pdfDoc.Add(htmlElement as IElement); } //Close your PDF pdfDoc.Close(); Response.ContentType = "application/pdf"; //Set default file Name as current datetime Response.AddHeader("content-disposition", "attachment; filename=certificadoVinculación.pdf"); System.Web.HttpContext.Current.Response.Write(pdfDoc); Response.Flush(); Response.End(); } catch (Exception ex) { Response.Write(ex.ToString()); } }
protected void Page_Load(object sender, EventArgs e) { if (Request["id"] == null) { Response.Redirect("./Dashboard.aspx"); } entryForm = null; try { //EntryId = new Guid(GeneralFunction.StringDecryption(Request.QueryString["Id"])); EntryId = new Guid(Request.QueryString["Id"]); if (Request["temp"] != null) { if (Session["Entry-" + EntryId.ToString() + Request["skey"]] == null) { return; } entryForm = (EntryForm)Session["Entry-" + EntryId.ToString() + Request["skey"]]; //HttpContext.Current.Session.Remove("Entry-" + EntryId.ToString() + Request["skey"]); } else { entryForm = EntryForm.GetEntryForm(Guid.Empty, EntryId); } entry = Entry.GetEntry(EntryId); } catch { Response.Redirect("./Dashboard.aspx"); } MemoryStream memoryStream = new System.IO.MemoryStream(); StringReader srdr = new StringReader(GetDocument()); Document pdfDoc = new Document(PageSize.A4, 40, 40, 20, 35); HTMLWorker hparse = new HTMLWorker(pdfDoc); PdfWriter pdfWriter = PdfWriter.GetInstance(pdfDoc, memoryStream); //Define the page number PageEventHelper pageEventHelper = new PageEventHelper(); pdfWriter.PageEvent = pageEventHelper; // Define the page header pageEventHelper.Title = ""; pageEventHelper.HeaderFont = FontFactory.GetFont(BaseFont.COURIER_BOLD, 10, Font.BOLD); pageEventHelper.HeaderLeft = ""; pageEventHelper.HeaderRight = ""; pdfDoc.Open(); hparse.Parse(srdr); pdfWriter.CloseStream = false; pdfDoc.Close(); pdfWriter.Close(); Response.ContentType = "application/pdf"; memoryStream.WriteTo(Response.OutputStream); memoryStream.Close(); }
protected void Page_Load(object sender, EventArgs e) { using (ShoppingCart shoppingCart = new ShoppingCart()) { shoppingCart.EmptyCart(); } int orderid = Convert.ToInt32(Session["orderid"]); DataTable dt = new DataTable(); dt.Columns.AddRange(new DataColumn[4] { new DataColumn("ProductId", typeof(int)), new DataColumn("Name", typeof(string)), new DataColumn("Quantity", typeof(int)), new DataColumn("TotalPrice", typeof(Double)) }); GalleryEntities1 _db = new GalleryEntities1(); List <ORDERDETAIL> orderdetails = _db.ORDERDETAILs.Where( c => c.OrderId == orderid).ToList(); for (int i = 0; i < orderdetails.Count; i++) { PRODUCT product = _db.PRODUCTs.Find(orderdetails[i].ProductId); String stockCount = product.Stock; int stockCountValue = Convert.ToInt32(stockCount); stockCountValue--; stockCount = stockCountValue.ToString(); product.Stock = stockCount; _db.SaveChanges(); dt.Rows.Add(orderdetails[i].ProductId, product.Name, orderdetails[i].Quantity, orderdetails[i].TotalPrice); } GridView1.DataSource = dt; GridView1.DataBind(); double total1 = Convert.ToDouble(Session["total"]); // Label lblTotal = (Label)GridView1.FindControl("lblTotal"); lblTotal.Text = String.Format("{0:0.00}", total1); //for receipt email string companyName = "Gallery Website"; string address = Convert.ToString(Session["address"]); int orderid1 = Convert.ToInt32(Session["orderid"]); int orderNo = orderid1; DataTable dt1 = new DataTable(); dt1.Columns.AddRange(new DataColumn[4] { new DataColumn("ProductId", typeof(int)), new DataColumn("Name", typeof(string)), new DataColumn("Quantity", typeof(int)), new DataColumn("Total Price", typeof(Double)) }); GalleryEntities1 _db1 = new GalleryEntities1(); List <ORDERDETAIL> orderdetails1 = _db1.ORDERDETAILs.Where( c => c.OrderId == orderid1).ToList(); for (int i = 0; i < orderdetails1.Count; i++) { PRODUCT product = _db1.PRODUCTs.Find(orderdetails1[i].ProductId); dt1.Rows.Add(orderdetails1[i].ProductId, product.Name, orderdetails1[i].Quantity, orderdetails1[i].TotalPrice); } using (StringWriter sw = new StringWriter()) { using (HtmlTextWriter hw = new HtmlTextWriter(sw)) { StringBuilder sb = new StringBuilder(); //Generate Invoice/Receipt Header. sb.Append("<table width='100%' cellspacing='0' cellpadding='2'>"); sb.Append("<tr><td align='center' style='background-color: #18B5F0' colspan = '2'><b>Receipt</b></td></tr>"); sb.Append("<tr><td colspan = '2'></td></tr>"); sb.Append("<tr><td><b>Order No: </b>"); sb.Append(orderNo); sb.Append("</td><td align = 'right'><b>Date: </b>"); sb.Append(DateTime.Now); sb.Append(" </td></tr>"); sb.Append("<tr><td><b>Company Name: </b>"); sb.Append(companyName); sb.Append("</td><td align = 'right'><b>Address: </b>"); sb.Append(address); 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 dt1.Columns) { sb.Append("<th>"); sb.Append(column.ColumnName); sb.Append("</th>"); } sb.Append("</tr>"); foreach (DataRow row in dt1.Rows) { sb.Append("<tr>"); foreach (DataColumn column in dt1.Columns) { sb.Append("<td>"); sb.Append(row[column]); sb.Append("</td>"); } sb.Append("</tr>"); } sb.Append("<tr><td align = 'right' colspan = '"); sb.Append(dt1.Columns.Count - 1); sb.Append("'>Total</td>"); sb.Append("<td>"); double total2 = Convert.ToDouble(Session["total"]); sb.Append(String.Format("{0:0.00}", total2)); sb.Append("</td>"); sb.Append("</tr></table>"); //Export HTML String as PDF. StringReader sr = new StringReader(sb.ToString()); Document pdfDoc1 = new Document(PageSize.A4, 10f, 10f, 10f, 0f); HTMLWorker htmlparser = new HTMLWorker(pdfDoc1); using (MemoryStream memoryStream = new MemoryStream()) { PdfWriter writer = PdfWriter.GetInstance(pdfDoc1, memoryStream); pdfDoc1.Open(); htmlparser.Parse(sr); pdfDoc1.Close(); byte[] bytes = memoryStream.ToArray(); memoryStream.Close(); MembershipUser u = Membership.GetUser(User.Identity.Name); _db = new Models.GalleryEntities1(); MailMessage mm = new MailMessage("*****@*****.**", u.Email); mm.Subject = "Receipt PDF"; mm.Body = "Receipt PDF Attachment"; mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "ReceiptPDF.pdf")); mm.IsBodyHtml = true; SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.EnableSsl = true; System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential(); NetworkCred.UserName = "******"; NetworkCred.Password = "******"; smtp.UseDefaultCredentials = true; smtp.Credentials = NetworkCred; smtp.Port = 587; try { smtp.Send(mm); }catch (Exception ex) { Console.Write(ex.StackTrace); } } } } }
public static void ExportPDFContrlReport(string fileName, GridView gv, string LoginName, string withRender, string[] relData) { HttpContext.Current.Response.Clear(); //HttpContext.Current.Response.AddHeader("content-disposition", string.Format("attachment; filename={0}", fileName)); //HttpContext.Current.Response.ContentType = "application/ms-excel"; //HttpContext.Current.Response.ContentType = "application/pdf"; HttpContext.Current.Response.ContentType = "application/pdf"; HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" + fileName + ".pdf"); HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache); using (StringWriter sw = new StringWriter()) { using (HtmlTextWriter htw = new HtmlTextWriter(sw)) { Table table = new Table(); //table.GridLines = gv.GridLines; if (gv.HeaderRow != null) { gv.HeaderStyle.Font.Bold = true; GridViewExportUtil.PrepareControlForExport(gv.HeaderRow); gv.HeaderRow.Font.Bold = true; table.Rows.Add(gv.HeaderRow); } foreach (GridViewRow row in gv.Rows) { GridViewExportUtil.PrepareControlForExport(row); table.Rows.Add(row); } if (gv.FooterRow != null) { GridViewExportUtil.PrepareControlForExport(gv.FooterRow); table.Rows.Add(gv.FooterRow); } table.RenderControl(htw); //table.HeaderRow.Style.Add("width", "15%"); //gvData.HeaderRow.Style.Add("font-size", "10px"); //gvData.Style.Add("text-decoration", "none"); //gvData.Style.Add("font-family", "Arial, Helvetica, sans-serif;"); //gvData.Style.Add("font-size", "8px"); StringReader sr = new StringReader(sw.ToString()); StringReader sr1 = new StringReader(withRender); EtrekReports.text.Document pdfDoc = new EtrekReports.text.Document(EtrekReports.text.PageSize.A2, 7f, 7f, 7f, 0f); HTMLWorker htmlparser = new HTMLWorker(pdfDoc); PdfWriter.GetInstance(pdfDoc, HttpContext.Current.Response.OutputStream); pdfDoc.Open(); //Read string contents using stream reader and convert html to parsed content var parsedHtmlElements = HTMLWorker.ParseToList(new StringReader(withRender), null); //Get each array values from parsed elements and add to the PDF document foreach (var htmlElement in parsedHtmlElements) { pdfDoc.Add(htmlElement as EtrekReports.text.IElement); } // htmlparser.Parse(sr1); htmlparser.Parse(sr); pdfDoc.Close(); HttpContext.Current.Response.Write(pdfDoc); HttpContext.Current.Response.End(); //if (withRender.ToUpper() == "REN") // rptRenewalListstyle(LoginName); //else if (withRender.ToUpper() == "CLINV") // rptInvoiceListstyle(LoginName); //else if (withRender.ToUpper() == "BKR") // rptBrokeragestyle(LoginName); //else if (withRender.ToUpper() == "OCL") // rptOutstandingClaimListstyle(LoginName, relData); //if (withRender.ToUpper() == "OSCP") // rptOSLossesClaimPaymentheader(LoginName, (relData[0] == null ? "" : relData[0].ToString()), (relData[1] == null ? "" : relData[1].ToString())); //HttpContext.Current.Response.Write(sw.ToString()); //HttpContext.Current.Response.End(); } } }
public void GeneratePDFNew(string Imagepath, string fileName, string HeaderName, GridView GridReport, Page oPage, string text) { var document = new Document(PageSize.A4, 50, 50, 25, 25); // document.SetMargins(20, 20, 20, 20); try { PdfWriter.GetInstance(document, oPage.Response.OutputStream); StringBuilder strB = new StringBuilder(); StringBuilder strB1 = new StringBuilder(); string str = string.Empty; #region [pdfPrint] str = "<font size='12px' face='arial'><table width='100%' align='Centre'>"; str = str + "<tr><td colspan='5' align='left'><b>" + lblCompanyName.Text + "</b></td></tr>"; str = str + "<tr><td colspan='5' align='left'><b>" + lblCompanyAddress.Text + "</b></td></tr>"; str = str + "<tr><td colspan='5' align='left'><b>Phone No:" + lblPhnNo.Text + "</b></td></tr>"; str = str + "<tr><td colspan='5' align='left'><b>Fax No:" + lblFaxNo.Text + "</b></td></tr>"; str = str + "<tr><td colspan='5' align='Center'><b>Material Issue Register Details </b></td></tr>"; str = str + "<tr><td align='right'><b>Inward No:</b></td><td align='left'><b>" + lbInwardNo.Text + "</b></td><td align='right'><b></b></td><td align='right'><b>Inward Date:</b></td><td align='left'><b>" + lblInwardDate.Text + "</b></td></tr>"; str = str + "<tr><td align='right'><b>Bill No:</b></td><td align='left'><b>" + lbBillNo.Text + "</b></td><td align='right'><b></b></td><td align='right'><b>Inward Through:</b></td><td align='left'><b>" + lbInwardThrough.Text + "</b></td></tr>"; str = str + "<tr><td align='right'><b>To,</b></td><td align='left'><b></b></td><td align='right'><b></b></td><td align='right'><b>Purchase Order No:</b></td><td align='left'><b>" + lblPONO.Text + "</b></td></tr>"; str = str + "<tr><td align='right'><b></b></td><td align='left' colspan='3'><b>" + lblSupplier.Text + "</b></td><td align='left'><b></b></td></tr>"; str = str + "<tr><td align='right'><b></b></td><td align='left' colspan='3'><b></b></td><td align='left'><b></b></td></tr>"; str = str + "<tr><td align='right'><b>Billing Address:</b></td><td align='left' colspan='4'><b>" + lblBillingAddress.Text + "</b></td></tr>"; str = str + "<tr><td align='right'><b>Shipping Address:</b></td><td align='left' colspan='4'><b>" + lblShippingAddress.Text + "</b></td></tr>"; document.SetMargins(10, 10, 10, 10); document.Open(); str = str + "<br><tr><td colspan='5' align='Center'>" + GridViewToHtml(InwardGrid) + "</td></tr><br>"; str = str + "<tr><td colspan='5' align='Right'><b>" + "SubTotal:" + lblSubTotal.Text + "</b></td></tr>"; str = str + "<tr><td colspan='5' align='Right'><b>" + "Discount:" + lblDiscount.Text + "</b></td></tr>"; str = str + "<tr><td colspan='5' align='Right'><b>" + "VAT:" + lblVat.Text + "</b></td></tr>"; str = str + "<tr><td colspan='5' align='Right'><b>" + "Dekhrekh:" + lblDekhrekh.Text + "</b></td></tr>"; str = str + "<tr><td colspan='5' align='Right'><b>" + "Hamali:" + lblHamali.Text + "</b></td></tr>"; str = str + "<tr><td colspan='5' align='Right'><b>" + "Cess:" + lblCESS.Text + "</b></td></tr>"; str = str + "<tr><td colspan='5' align='Right'><b>" + "Freight:" + lblFreight.Text + "</b></td></tr>"; str = str + "<tr><td colspan='5' align='Right'><b>" + "Packing:" + lblPacking.Text + "</b></td></tr>"; str = str + "<tr><td align='Right'><b>Tin No:" + LblTinNo.Text + "</b></td><td colspan='4' align='Right'><b>" + "Postage:" + lblPostage.Text + "</b></td></tr>"; str = str + "<tr><td align='Right'><b>Vat No:" + lblVatNo.Text + "</b></td><td colspan='4' align='Right'><b>" + "Other Charges:" + lblOtherCharges.Text + "</b></td></tr>"; str = str + "<tr><td align='Right'><b>ServiceTaxNo:" + lblServiceTaxNo.Text + "</b></td><td colspan='4' align='Right'><b>" + "GrandTotal:" + lblGrandTotal.Text + "</b></td></tr>"; str = str + "<br><tr><td colspan='7'><table width='100%'><tr><td width='15%'>Prepared By</td><td></td><td width='15%'>Authorised By</td><td></td><td width='15%'>Received By</td></tr></br>"; str = str + "<br><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr></br>"; str = str + "<br><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr></br>"; str = str + "<br><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr></br>"; str = str + "<br><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr></br>"; str = str + "<br><tr><td> </td><td> </td><td> </td><td> </td><td> </td></tr></br>"; str = str + "<br><tr><td>Name & Designation</td><td></td><td>Name & Designation</td><td></td><td >Name & Designation</td></tr></br>"; str = str + "<br><tr><td>Store Incharge</td><td></td><td>Unit Head/Operation Manager</td><td></td><td>Store Incharge</td></tr></br>"; str = str + "</table></td></tr></br>"; str = str + "</table></font>"; #endregion strB.Append(str); document.SetMargins(20, 20, 20, 20); document.Open(); if (text.Length.Equals(0)) // export the text { // BindMyGrid(); using (StringWriter sWriter = new StringWriter(strB)) { using (HtmlTextWriter htWriter = new HtmlTextWriter(sWriter)) { //grdPrice.RenderControl(htWriter); } } } else // export the grid { strB.Append(text); } // now read the Grid html one by one and add into the document object using (TextReader sReader = new StringReader(strB.ToString())) { iTextSharp.text.Image gif = iTextSharp.text.Image.GetInstance(Server.MapPath("~/Images/MasterPages/MayurLogo.png")); document.Add(gif); List <IElement> list = HTMLWorker.ParseToList(sReader, new StyleSheet()); foreach (IElement elm in list) { document.Add(elm); } } } catch (Exception ex) { throw new Exception(ex.Message); } finally { document.Close(); } }
// else // { // Master.ShowError("Already Send Mails"); // } private void SendPDFEmail(DataTable dt, string ToMail) { // DataView dv_new; //DataTable dt_new; //string ToMail = ""; //DataSourceSelectArguments args_new = new DataSourceSelectArguments(); //dv_new = MailDataSource.Select(args_new) as DataView; //dt_new = dv_new.ToTable() as DataTable; //foreach (DataRow myRow in dt_new.Rows) //{ // ToMail = WebTools.GetExpr("EMAIL", "USERS", " WHERE UPPER(USER_NAME)='" + myRow["USER_NAME"].ToString().ToUpper() + "'"); // string cnString = ConfigurationManager.ConnectionStrings["ipmsConnectionString"].ConnectionString; // OracleConnection sqlConnection = new OracleConnection(cnString); // string CommandText = "SELECT * FROM VIEW_BATCH_EMAIL WHERE EMAIL='" + ToMail + "'"; // OracleCommand sqlCommand = new OracleCommand(CommandText, sqlConnection); // OracleDataAdapter sqlDataAdapter = new OracleDataAdapter(); // sqlDataAdapter.SelectCommand = sqlCommand; // DataSet dataSet = new DataSet(); // sqlDataAdapter.Fill(dataSet, "header"); // sqlConnection.Close(); // DataTable dt = new DataTable(); // String ConnString = ConfigurationManager.ConnectionStrings["ipmsConnectionString"].ConnectionString; // OracleConnection con = new OracleConnection(ConnString); // OracleCommand cmd = new OracleCommand("SELECT * FROM VIEW_BATCH_EMAIL WHERE EMAIL='" + ToMail + "'", con); // cmd.CommandType = CommandType.Text; // OracleDataAdapter da = new OracleDataAdapter(cmd); // System.Data.DataTable result = new System.Data.DataTable(); // da.Fill(result); // SendPDFEmail(result, ToMail); //} using (StringWriter sw = new StringWriter()) { using (HtmlTextWriter hw = new HtmlTextWriter(sw)) { string companyName = "Amogh"; StringBuilder sb = new StringBuilder(); sb.Append("<table width='100%' cellspacing='0' cellpadding='2'>"); sb.Append("<tr><td align='center' style='background-color: #18B5F0' colspan = '2'><b>Batch Details</b></td></tr>"); sb.Append("<tr><td colspan = '2'></td></tr>"); //sb.Append("<tr><td><b>PO Number:</b>"); //sb.Append(orderNo); sb.Append("</td><td><b>Date: </b>"); sb.Append(DateTime.Now); sb.Append(" </td></tr>"); sb.Append("<tr><td colspan = '2'><b>Company Name:</b> "); sb.Append(companyName); sb.Append("</td></tr>"); sb.Append("</table>"); sb.Append("<br />"); sb.Append("<table border = '1'>"); sb.Append("<tr>"); foreach (DataColumn column in dt.Columns) { sb.Append("<th style = 'background-color: #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("</table>"); 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("*****@*****.**", ToMail); mm.Subject = "Expire Batches"; mm.Body = "The attached batches are going to expire"; mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "batch.pdf")); mm.IsBodyHtml = true; SmtpClient smtp = new SmtpClient(); smtp.Credentials = new NetworkCredential("*****@*****.**", "Puw48379"); smtp.Port = 587; smtp.Host = "smtp-mail.outlook.com"; smtp.EnableSsl = true; smtp.Timeout = 2000000; smtp.Send(mm); } } } }
protected void Button1_Click(object sender, EventArgs e) { HttpContext.Current.Response.ContentType = "Application/PDF"; HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename= District_Master.pdf"); StringWriter sw = new StringWriter(); HtmlTextWriter tw = new HtmlTextWriter(sw); string qry1 = "select Dist_Code,Dist_Name from Dist_List order by Dist_Name"; SqlCommand cmd = new SqlCommand(qry1, con); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); iTextSharp.text.Table tb = new iTextSharp.text.Table(2); tb.BorderWidth = 0.6f; tb.BorderColor = new Color(0, 0, 0); tb.CellsFitPage = true; tb.Padding = 2; tb.Width = 90; //Single widths = new Single() [ 5, 5]; //tb.Widths = widths; if (ds.Tables[0].Rows.Count > 0) { DataTable dt; dt = ds.Tables[0]; Paragraph p31 = new Paragraph("District Code", new Font(Font.TIMES_ROMAN, 11, Font.BOLD)); iTextSharp.text.Cell tcell_1 = new iTextSharp.text.Cell(p31); tcell_1.Header = true; tcell_1.HorizontalAlignment = Element.ALIGN_CENTER; tcell_1.BackgroundColor = Color.LIGHT_GRAY; tb.AddCell(tcell_1); tb.EndHeaders(); Paragraph p32 = new Paragraph("District Name", new Font(Font.TIMES_ROMAN, 11, Font.BOLD)); iTextSharp.text.Cell tcell_2 = new iTextSharp.text.Cell(p32); tcell_2.Header = true; tcell_2.HorizontalAlignment = Element.ALIGN_CENTER; tcell_2.BackgroundColor = Color.LIGHT_GRAY; tb.AddCell(tcell_2); tb.EndHeaders(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { Paragraph p11; Paragraph p12; p11 = new Paragraph(ds.Tables[0].Rows[i]["Dist_Code"].ToString(), new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)); p12 = new Paragraph(ds.Tables[0].Rows[i]["Dist_Name"].ToString(), new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)); iTextSharp.text.Cell tcell_p111 = new iTextSharp.text.Cell(p11); tcell_p111.HorizontalAlignment = Element.ALIGN_CENTER; tb.AddCell(tcell_p111); iTextSharp.text.Cell tcell_p112 = new iTextSharp.text.Cell(p12); tcell_p112.HorizontalAlignment = Element.ALIGN_LEFT; tb.AddCell(tcell_p112); } } StringReader sr = new StringReader(sw.ToString()); Document pdfDoc = new Document(PageSize.A4, 2, 2, 2, 1); HTMLWorker htmlparser = new HTMLWorker(pdfDoc); PdfWriter.GetInstance(pdfDoc, HttpContext.Current.Response.OutputStream); PdfWriter writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream); String pcnt; pcnt = (writer.CurrentPageNumber - 1).ToString(); pcnt = pcnt.Substring(1); pdfDoc.Open(); pdfDoc.Add(new Paragraph(" DISTRICT MASTER")); pdfDoc.Add(tb); pdfDoc.Close(); HttpContext.Current.Response.Write(pdfDoc); HttpContext.Current.Response.End(); }
public static void ExportData(System.Data.DataTable dt, string ExportFileName) { //if (sfd.FilterIndex == 1) //{ // bool ExcelImport = false; // if (W.Show("Will this file be Imported into MS EXCEL?", "EXCEL", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes) // ExcelImport = true; // using (StreamWriter sw = new StreamWriter(sfd.FileName)) // { // StringBuilder sb = new StringBuilder(); // foreach (DataColumn dc in dt.Columns) // { // sb.Append(dc.ColumnName + ","); // } // sw.WriteLine(sb.ToString().Substring(0, sb.ToString().Length - 1)); // foreach (DataRow dr in dt.Rows) // { // sb = new StringBuilder(); // string rec = ""; // foreach (DataColumn dc in dt.Columns) // { // if (ExcelImport) // rec = @"=" + "\"" + dr[dc.ColumnName].ToString() + "\""; // else // rec = dr[dc.ColumnName].ToString(); // sb.Append(rec + ","); // } // sw.WriteLine(sb.ToString().Substring(0, sb.ToString().Length - 1)); // } // } //} //else if (sfd.FilterIndex == 2) //{ //Document is inbuilt class, available in iTextSharp Document document = new Document(PageSize.A4, 80, 50, 30, 65); StringBuilder strData = new StringBuilder(string.Empty); try { StringWriter sw = new StringWriter(); sw.WriteLine(Environment.NewLine); sw.WriteLine(Environment.NewLine); sw.WriteLine(Environment.NewLine); sw.WriteLine(Environment.NewLine); StreamWriter strWriter = new StreamWriter(ExportFileName, false, Encoding.UTF8); //strWriter.Write("<html><head><link href=Style.css rel=stylesheet type=text/css /></head><body>" + htw.InnerWriter.ToString() + "</body></html>"); #region Write in StreamWriter string sError = string.Empty; int iNoOfColsinaPage = 7; int iRunningColCount = 0; strWriter.Write("<HTML><BODY><TABLE>"); foreach (DataColumn dc in dt.Columns) { if (iRunningColCount % iNoOfColsinaPage == 0) { strWriter.Write("<TR>"); } strWriter.Write("<TD> " + dc.ColumnName + " </TD>"); iRunningColCount++; if (iRunningColCount % iNoOfColsinaPage == 0) { strWriter.Write("</TR>"); } } foreach (DataRow dr in dt.Rows) { iRunningColCount = 0; foreach (DataColumn dc in dt.Columns) { if (iRunningColCount % iNoOfColsinaPage == 0) { strWriter.Write("<TR>"); } strWriter.Write("<TD>" + dr[dc.ColumnName].ToString() + " </TD>"); iRunningColCount++; if (iRunningColCount % iNoOfColsinaPage == 0) { strWriter.Write("</TR>"); } } } strWriter.Write("</TABLE></BODY></HTML>"); //sb = strWriter.to .Replace("</TD><TR>", "</TD></TR><TR>"); #endregion strWriter.Close(); strWriter.Dispose(); iTextSharp.text.html.simpleparser. StyleSheet styles = new iTextSharp.text.html.simpleparser.StyleSheet(); styles.LoadTagStyle("ol", "leading", "16,0"); List <IElement> objects; styles.LoadTagStyle("li", "face", "garamond"); styles.LoadTagStyle("span", "size", "8px"); styles.LoadTagStyle("body", "font-family", "times new roman"); styles.LoadTagStyle("body", "font-size", "10px"); StreamReader sr = new StreamReader(ExportFileName, Encoding.Default); objects = HTMLWorker.ParseToList(sr, styles); sr.Close(); PdfWriter.GetInstance(document, new FileStream(ExportFileName, FileMode.Create)); document.Add(new Header("stylesheet", "Style.css")); document.Open(); document.NewPage(); for (int k = 0; k < objects.Count; k++) { document.Add((IElement)objects[k]); } } catch (Exception ex) { //throw ex; } finally { document.Close(); } }
protected void imgPdfButton_Click(object sender, EventArgs e) { try { string text = Session[ApplicationSession.OrganisationName].ToString(); string text1 = Session[ApplicationSession.OrganisationAddress].ToString(); string text2 = "Dryer Log Sheet Report"; using (StringWriter sw = new StringWriter()) { using (HtmlTextWriter hw = new HtmlTextWriter(sw)) { StringBuilder sb = new StringBuilder(); sb.Append("<div align='center' style='font-size:16px;font-weight:bold;color:Black;'>"); sb.Append(text); sb.Append("</div>"); sb.Append("<br/>"); sb.Append("<div align='center' style='font-size:13px;font-weight:bold;color:Black;'>"); sb.Append(text1); sb.Append("</div>"); sb.Append("<br/>"); sb.Append("<div align='center' style='font-size:26px;color:Maroon;'><b>"); sb.Append(text2); sb.Append("</b></div>"); sb.Append("<br/>"); string content = "<table style='display: table;width: 900px; clear:both;'> <tr> <th colspan='10' style='float: left;padding-left: 220px;'><div align='left'><strong>Start Date: </strong>" + txtFromDate.Text + "</div></th>"; content += "<th style='float:left; padding-left:-180px;'></th>"; content += "<th style='float:left; padding-left:-210px;'></th>"; content += "<th colspan='1' align='left' style=' float: left; padding-left:-200px;'><strong> End Date: </strong>" + //colspan='4' txtToDate.Text + "</th>" + "</tr></table>"; sb.Append(content); sb.Append("<br/>"); PdfPTable pdfPTable = new PdfPTable(gvDryerLog.HeaderRow.Cells.Count); //TableCell headerCell = new TableCell(); PdfPCell headerCell = new PdfPCell(new Phrase("Sr No.")); headerCell.Padding = 5; headerCell.BorderWidth = 1.5f; headerCell.HorizontalAlignment = Element.ALIGN_CENTER; headerCell.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell); PdfPCell headerCell1 = new PdfPCell(new Phrase("ID")); headerCell1.Padding = 5; headerCell1.BorderWidth = 1.5f; headerCell1.HorizontalAlignment = Element.ALIGN_CENTER; headerCell1.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell1); PdfPCell headerCell2 = new PdfPCell(new Phrase("Time")); headerCell2.Padding = 5; headerCell2.BorderWidth = 1.5f; headerCell2.HorizontalAlignment = Element.ALIGN_CENTER; headerCell2.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell2); PdfPCell headerCell3 = new PdfPCell(new Phrase("Homogenizer Inlet Pressure (bar)")); headerCell3.Padding = 5; headerCell3.BorderWidth = 1.5f; headerCell3.HorizontalAlignment = Element.ALIGN_CENTER; headerCell3.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell3); PdfPCell headerCell4 = new PdfPCell(new Phrase("Homogenizer Freq. (Hz)")); headerCell4.Padding = 5; headerCell4.BorderWidth = 1.5f; headerCell4.HorizontalAlignment = Element.ALIGN_CENTER; headerCell4.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell4); PdfPCell headerCell5 = new PdfPCell(new Phrase("Homogenizer Outlet Pressure (bar)")); headerCell5.Padding = 5; headerCell5.BorderWidth = 1.5f; headerCell5.HorizontalAlignment = Element.ALIGN_CENTER; headerCell5.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell5); PdfPCell headerCell6 = new PdfPCell(new Phrase("Dryer Feed Temp.")); headerCell6.Padding = 5; headerCell6.BorderWidth = 1.5f; headerCell6.HorizontalAlignment = Element.ALIGN_CENTER; headerCell6.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell6); PdfPCell headerCell7 = new PdfPCell(new Phrase("Drying Chamber Vacuum (mmHg)")); headerCell7.Padding = 5; headerCell7.BorderWidth = 1.5f; headerCell7.HorizontalAlignment = Element.ALIGN_CENTER; headerCell7.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell7); PdfPCell headerCell8 = new PdfPCell(new Phrase("Exhaust Fan Freq. (Hz)")); headerCell8.Padding = 5; headerCell8.BorderWidth = 1.5f; headerCell8.HorizontalAlignment = Element.ALIGN_CENTER; headerCell8.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell8); PdfPCell headerCell9 = new PdfPCell(new Phrase("Vibro Vacuum (mmHg)")); headerCell9.Padding = 5; headerCell9.BorderWidth = 1.5f; headerCell9.HorizontalAlignment = Element.ALIGN_CENTER; headerCell9.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell9); PdfPCell headerCell10 = new PdfPCell(new Phrase("Main Air Supply Flow (kg/hr)")); headerCell10.Padding = 5; headerCell10.BorderWidth = 1.5f; headerCell10.HorizontalAlignment = Element.ALIGN_CENTER; headerCell10.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell10); PdfPCell headerCell11 = new PdfPCell(new Phrase("Main Air Supply Fan Freq. (Hz)")); headerCell11.Padding = 5; headerCell11.BorderWidth = 1.5f; headerCell11.HorizontalAlignment = Element.ALIGN_CENTER; headerCell11.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell11); PdfPCell headerCell12 = new PdfPCell(new Phrase("Air Disperser Temp. (°C)")); headerCell12.Padding = 5; headerCell12.BorderWidth = 1.5f; headerCell12.HorizontalAlignment = Element.ALIGN_CENTER; headerCell12.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell12); PdfPCell headerCell13 = new PdfPCell(new Phrase("Main Air Supply Temp. (°C)")); headerCell13.Padding = 5; headerCell13.BorderWidth = 1.5f; headerCell13.HorizontalAlignment = Element.ALIGN_CENTER; headerCell13.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell13); PdfPCell headerCell14 = new PdfPCell(new Phrase("VF-1 & 2 Air Supply Temp. (°C)")); headerCell14.Padding = 5; headerCell14.BorderWidth = 1.5f; headerCell14.HorizontalAlignment = Element.ALIGN_CENTER; headerCell14.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell14); PdfPCell headerCel15 = new PdfPCell(new Phrase("VF-3 Air Supply Temp. (°C)")); headerCel15.Padding = 5; headerCel15.BorderWidth = 1.5f; headerCel15.HorizontalAlignment = Element.ALIGN_CENTER; headerCel15.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCel15); PdfPCell headerCell16 = new PdfPCell(new Phrase("VF-4 Air Supply Temp. (°C)")); headerCell16.Padding = 5; headerCell16.BorderWidth = 1.5f; headerCell16.HorizontalAlignment = Element.ALIGN_CENTER; headerCell16.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell16); PdfPCell headerCell17 = new PdfPCell(new Phrase("Vibro Outlet Temp. (°C)")); headerCell17.Padding = 5; headerCell17.BorderWidth = 1.5f; headerCell17.HorizontalAlignment = Element.ALIGN_CENTER; headerCell17.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell17); PdfPCell headerCell18 = new PdfPCell(new Phrase("Drying Chamber Outlet Temp. (°C)")); headerCell18.Padding = 5; headerCell18.BorderWidth = 1.5f; headerCell18.HorizontalAlignment = Element.ALIGN_CENTER; headerCell18.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell18); PdfPCell headerCell19 = new PdfPCell(new Phrase("SFB Air Supply Temp. (°C)")); headerCell19.Padding = 5; headerCell19.BorderWidth = 1.5f; headerCell19.HorizontalAlignment = Element.ALIGN_CENTER; headerCell19.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell19); PdfPCell headerCell20 = new PdfPCell(new Phrase("SFB Temp. (°C)")); headerCell20.Padding = 5; headerCell20.BorderWidth = 1.5f; headerCell20.HorizontalAlignment = Element.ALIGN_CENTER; headerCell20.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell20); PdfPCell headerCell21 = new PdfPCell(new Phrase("SFB DPT. (bar)")); headerCell21.Padding = 5; headerCell21.BorderWidth = 1.5f; headerCell21.HorizontalAlignment = Element.ALIGN_CENTER; headerCell21.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell21); PdfPCell headerCell22 = new PdfPCell(new Phrase("SFB Fan Freq. (bar)")); headerCell22.Padding = 5; headerCell22.BorderWidth = 1.5f; headerCell22.HorizontalAlignment = Element.ALIGN_CENTER; headerCell22.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell22); PdfPCell headerCell23 = new PdfPCell(new Phrase("Cyclone 1 DPT. (bar)")); headerCell23.Padding = 5; headerCell23.BorderWidth = 1.5f; headerCell23.HorizontalAlignment = Element.ALIGN_CENTER; headerCell23.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell23); PdfPCell headerCell24 = new PdfPCell(new Phrase("Cyclone 2 DPT. (bar)")); headerCell24.Padding = 5; headerCell24.BorderWidth = 1.5f; headerCell24.HorizontalAlignment = Element.ALIGN_CENTER; headerCell24.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell24); PdfPCell headerCell25 = new PdfPCell(new Phrase("Powder Moisture")); headerCell25.Padding = 5; headerCell25.BorderWidth = 1.5f; headerCell25.HorizontalAlignment = Element.ALIGN_CENTER; headerCell25.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell25); PdfPCell headerCell26 = new PdfPCell(new Phrase("Bag No.")); headerCell26.Padding = 5; headerCell26.BorderWidth = 1.5f; headerCell26.HorizontalAlignment = Element.ALIGN_CENTER; headerCell26.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell26); float[] widthsTAS = { 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f, 300f }; pdfPTable.SetWidths(widthsTAS); for (int i = 0; i < gvDryerLog.Rows.Count; i++) { if (gvDryerLog.Rows[i].RowType == DataControlRowType.DataRow) { for (int j = 0; j < gvDryerLog.Columns.Count; j++) { string cellText = Server.HtmlDecode(gvDryerLog.Rows[i].Cells[j].Text); gvDryerLog.Columns[1].Visible = false; DateTime dDate; double dbvalue; int intvalue; if (DateTime.TryParse(cellText, out dDate)) { PdfPCell CellTwoHdr = new PdfPCell(new Phrase(cellText)); CellTwoHdr.HorizontalAlignment = Element.ALIGN_CENTER; CellTwoHdr.VerticalAlignment = Element.ALIGN_MIDDLE; CellTwoHdr.Padding = 5; pdfPTable.AddCell(CellTwoHdr); } else if (double.TryParse(cellText, out dbvalue) || Int32.TryParse(cellText, out intvalue)) { PdfPCell CellTwoHdr = new PdfPCell(new Phrase(cellText)); CellTwoHdr.HorizontalAlignment = Element.ALIGN_CENTER; CellTwoHdr.VerticalAlignment = Element.ALIGN_MIDDLE; CellTwoHdr.Padding = 5; pdfPTable.AddCell(CellTwoHdr); } else { PdfPCell CellTwoHdr = new PdfPCell(new Phrase(cellText)); CellTwoHdr.HorizontalAlignment = Element.ALIGN_CENTER; CellTwoHdr.VerticalAlignment = Element.ALIGN_MIDDLE; CellTwoHdr.Padding = 5; pdfPTable.AddCell(CellTwoHdr); } } pdfPTable.HeaderRows = 1; } } var imageURL = Server.MapPath(".") + "\\GEAProcess_large_20122024.jpg"; iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(imageURL); jpg.Alignment = Element.ALIGN_CENTER; jpg.SetAbsolutePosition(30, 1060); //For IDMC Logo var imageURL1 = Server.MapPath(".") + "\\GEAProcess_large_20122024.jpg"; iTextSharp.text.Image jpg1 = iTextSharp.text.Image.GetInstance(imageURL1); jpg1.Alignment = Element.ALIGN_RIGHT; jpg1.SetAbsolutePosition(700, 1060); StringReader sr = new StringReader(sb.ToString()); //StringReader sr1 = new StringReader(sb1.ToString()); Document pdfDoc = new Document(PageSize.A1, -150f, -150f, 10f, 0f); HTMLWorker htmlparser = new HTMLWorker(pdfDoc); PdfWriter writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream); PDFBackgroundHelper pageEventHelper = new PDFBackgroundHelper(); writer.PageEvent = pageEventHelper; pdfDoc.Open(); htmlparser.Parse(sr); pdfDoc.Add(jpg); pdfDoc.Add(jpg1); pdfDoc.Add(pdfPTable); //htmlparser.Parse(sr1); //----------- FOOTER ----------- PdfPTable footer = new PdfPTable(2); PdfPTable footer2 = new PdfPTable(2); PdfPCell footer_Cell1 = new PdfPCell(new Phrase("Shift")); PdfPCell footer2_Cell1 = new PdfPCell(new Phrase("Shift Incharge")); PdfPCell common_Cell = new PdfPCell(new Phrase(": ____________________")); float[] cols = new float[] { 100, 300 }; footer.SetWidthPercentage(cols, PageSize.A3); footer2.SetWidthPercentage(cols, PageSize.A3); footer_Cell1.Border = 0; footer2_Cell1.Border = 0; common_Cell.Border = 0; footer.AddCell(footer_Cell1); footer.AddCell(common_Cell); footer2.AddCell(footer2_Cell1); footer2.AddCell(common_Cell); footer.WriteSelectedRows(0, -1, pdfDoc.LeftMargin + 125, 90, writer.DirectContent); footer2.WriteSelectedRows(0, -1, pdfDoc.LeftMargin + 125, 70, writer.DirectContent); //----------- /FOOTER ----------- pdfDoc.Close(); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment;" + "filename=DryerLogSheetReport" + DateTime.Now.Date.ToString("dd-MM-yyyy") + ".pdf"); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Write(pdfDoc); Response.Flush(); Response.Clear(); Response.End(); } } } catch (Exception ex) { log.Error("Error", ex); ClientScript.RegisterStartupScript(typeof(Page), "MessagePopUp", "<script>alert('Oops! There is some technical Problem. Contact to your Administrator.');</script>"); } }
/// <summary> /// Renders the PDF to an array of bytes /// </summary> public byte[] RenderPdf(string imageFilePath) { //Document is inbuilt class, available in iTextSharp MemoryStream file = new MemoryStream(); Document document = new Document(new Rectangle(842, 595)); document.SetMargins(200, 200, 200, 100); PdfWriter writer = PdfWriter.GetInstance(document, file); Image jpg = iTextSharp.text.Image.GetInstance(imageFilePath); jpg.ScaleToFit(842, 595); jpg.Alignment = Image.UNDERLYING; jpg.SetAbsolutePosition(0, 0); //allow modifications of the document if (this.BeforeRender is RenderEvent) { this.BeforeRender(writer, document); } document.Open(); //render each page that has been added foreach (HtmlPdfPage page in this._Pages) { document.NewPage(); document.Add(jpg); //generate this page of text MemoryStream output = new MemoryStream(); StreamWriter html = new StreamWriter(output, Encoding.UTF8); //get the page output html.Write(string.Concat(HtmlToPdfBuilder.DOCUMENT_HTML_START, page._Html.ToString(), HtmlToPdfBuilder.DOCUMENT_HTML_END)); html.Close(); html.Dispose(); //read the created stream MemoryStream generate = new MemoryStream(output.ToArray()); StreamReader reader = new StreamReader(generate); foreach (object item in HTMLWorker.ParseToList(reader, this._Styles)) { document.Add((IElement)item); } //cleanup these streams html.Dispose(); reader.Dispose(); output.Dispose(); generate.Dispose(); } //after rendering if (this.AfterRender is RenderEvent) { this.AfterRender(writer, document); } //return the rendered PDF document.Close(); return(file.ToArray()); }
private void SendPDFEmail(DataTable dt) { using (StringWriter sw = new StringWriter()) { using (HtmlTextWriter hw = new HtmlTextWriter(sw)) { string companyName = "Online Book Shop"; int orderNo = 1111; string email = "Email"; string desc = "Description"; string name = "Book Name"; StringBuilder sb = new StringBuilder(); sb.Append("<br /><br />"); sb.Append("<table width='100%' cellspacing='0' cellpadding='2'>"); sb.Append("<tr><td align='center' style='background-color: #18B5F0' colspan = '2'><b>Donation Sleep</b></td></tr>"); sb.Append("<tr><td colspan = '2'></td></tr>"); sb.Append("<tr><td><b>Order No:</b>"); sb.Append(orderNo); sb.Append("</td><td><b>Date: </b>"); sb.Append(DateTime.Now); sb.Append(" </td></tr>"); sb.Append("<tr><td colspan = '2'><b>Company Name :</b> "); sb.Append(companyName); sb.Append("</td></tr>"); sb.Append("</table>"); sb.Append("<br />"); sb.Append("<table border = '1'>"); sb.Append("<tr>"); //foreach (DataColumn column in dt.Columns) //{ sb.Append("<td style = 'background-color: #D20B0C;color:black'>"); sb.Append(email); sb.Append("</td>"); sb.Append("<td style = 'background-color: #D20B0C;color:black'>"); sb.Append(name); sb.Append("</td>"); sb.Append("<td style = 'background-color: #D20B0C;color:black'>"); sb.Append(desc); sb.Append("</td>"); //} 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("</table>"); sb.Append("<br/><br/>"); sb.Append("<b> Thank You For Your Valuable Donation"); 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(); MailDefinition md = new MailDefinition(); md.From = "*****@*****.**"; md.IsBodyHtml = true; //md.Subject = "Test of MailDefinition"; ListDictionary replacements = new ListDictionary(); replacements.Add("{name}", TextBox_emailID.Text); replacements.Add("{book}", TextBox_Bookname.Text); //replacements.Add("{url}", "/ICON.jpg"); //string body = "<div style='color:red;background:yellow'>Hello {name}<br><br><br> You're from {country}.</div><br><br> <div style='color:red;background:red'>Nice To Meet You.</div>"; string body = "<style type='text/css'>td {padding: 15px;}.auto-style1 {color: #00E600;}</style><div style='width:80%;height:80%;margin:auto;padding:20px;color:#00cc00;border:10px solid #00cc00;'><img src=\"cid:filename\"><div style='margin:50px;background-color:#f7ffe6;padding:30px'><center><h2>Thank you for the donation!</h2></center><table><tr><td>Donor Name:</td><td>{name}</td></tr><tr><td>Donation ID:</td><td>4355</td></tr><tr><td>Book Donated:</td><td>{book}</td></tr></table></div><b style='float:right;'>©Copyright BooksForTechs</b></div>"; MailMessage mm = md.CreateMailMessage(TextBox_emailID.Text, replacements, body, new System.Web.UI.Control()); //MailMessage mm = new MailMessage("*****@*****.**", "*****@*****.**"); mm.Subject = "Donation Sleep"; mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "donationPDF.pdf")); mm.IsBodyHtml = true; SmtpClient smtp = new SmtpClient(); smtp.Host = "smtp.gmail.com"; smtp.EnableSsl = true; NetworkCredential NetworkCred = new NetworkCredential(); NetworkCred.UserName = "******"; NetworkCred.Password = "******"; smtp.UseDefaultCredentials = true; smtp.Credentials = NetworkCred; smtp.Port = 587; smtp.Send(mm); /*MailMessage mm = new MailMessage(); * mm.From=new MailAddress("*****@*****.**"); * mm.To.Add(new MailAddress(TextBox_emailID.Text)); * mm.Subject = "Donation Reciept"; * mm.Body = "Thank you for donating book...we appriciate your work.....please find an attachment which contains donation sleep"; * mm.Attachments.Add(new Attachment(new MemoryStream(bytes), "donationPDF.pdf")); * mm.IsBodyHtml = true; * SmtpClient smtp = new SmtpClient(); * smtp.Host = "smtp.gmail.com"; * smtp.EnableSsl = true; * NetworkCredential NetworkCred = new NetworkCredential(); * NetworkCred.UserName = "******"; * NetworkCred.Password = "******"; * smtp.UseDefaultCredentials = true; * smtp.Credentials = NetworkCred; * smtp.Port = 587; * smtp.Send(mm);*/ } } } }
public string GetRecibo(string tranferId, string username, string numReceipt, string date, string nAffiliate, string typeMembresia, string namePeson, string hour, string detalle, string quotesPendiente, string concepto) { string fechaVar = DateTime.Now.ToString("yyyyMMddHHmmss"); string nameTicket = username + "_" + tranferId + fechaVar; string dni = username.Substring(2, (username.Length - 2)); using (Document document = new Document(PageSize.A4, 10, 10, 10, 10)) { string rutaImg = HttpContext.Current.Server.MapPath("~/Resources/Images/"); string ruta = HttpContext.Current.Server.MapPath("~/Resources/RecibosRegister/") + nameTicket + ".pdf"; FileStream stream = new FileStream(ruta, FileMode.Create); PdfWriter.GetInstance(document, stream); document.Open(); string cadenfinal = string.Empty; cadenfinal += "<!DOCTYPE html ><html><head><title></title></head><body>"; cadenfinal += "<div style='font-family: sans-serif;display: block;padding:20px;margin:10px auto;width:700px;height: 700px;background-color: white;'>"; //cadenfinal += "<img src='" + rutaImg + "rec.png' style='position: absolute;top: 24%;left:28%;opacity: 0.1;z-index:1;width:515px;'/>"; //cadenfinal += "<div style='display:flex;justify-content:space-between;text-align:center;' >"; //cadenfinal += "<img src='" + rutaImg + "rec.png'/>"; //cadenfinal += "<div><div style='font-size: 24px' ><b> RECIBO </b> Nro. 002044 </div><label> 20 de marzo del 2019 </label></div></div>"; cadenfinal += "<div><img src='" + rutaImg + "rec.png' style='position: absolute;top: 24%;left:28%;opacity: 0.1;z-index:1;width:515px;'></div>"; cadenfinal += "<div style='display:block;margin:10px auto;text-align: center;' ><h2><b> VALLE ENCANTADO S.A.C </b></h2>"; cadenfinal += "<h4><b> RUC 20601460271 </b></h4></div><div style='display: flex;justify-content: space-between;'>"; //cadenfinal += "<div style='display:block' ><div style='margin:5px 0'><b> Nro. MEMBRESIA:</b> AR00101 </div>"; cadenfinal += "<div style='display:block' ><div style='margin:5px 0'><b> Codigo:</b> " + username + " </div>"; cadenfinal += "<label><b> Nombre: </b> " + namePeson.ToUpper() + "</label></div><div><div><b> Codido Membresia: </b>" + typeMembresia + "</div>"; cadenfinal += "<label><b> DNI: </b> " + dni + " </label></div></div><div style = 'margin:15px auto;'><label><B> Codigo de operacion: </B> " + tranferId + " </label>"; cadenfinal += "</div>"; cadenfinal += "<div style='margin: 15px auto' ><b> Fecha: </b>" + date + " HORA: " + hour + " </div>"; cadenfinal += "<div style='margin: 15px auto' ><b> Concepto: </b> " + concepto + " </div>"; cadenfinal += "<div style='margin: 15px auto' ><b> Monto: </b>" + detalle + " </div>"; cadenfinal += "<div style='margin: 15px auto' ><b> Cuotas pendientes: </b>" + quotesPendiente + " </div>"; //cadenfinal += "<div style='border:1px solid grey;display: flex;justify-content: space-around;' ><div style='border:2px solid grey;width: 25%;text-align: center;'>"; //cadenfinal += "<div style='border-bottom: 2px solid grey;font-weight: bold; background-color: #d6d6d6'> CONCEPTO </div>"; //cadenfinal += "<label> CUOTA 1°</label></div><div style = 'border:2px solid grey;width:25%;text-align: center;'>"; //cadenfinal += "<div style='border-bottom: 2px solid grey;font-weight: bold; background-color: #d6d6d6'> MONTO </div>"; //cadenfinal += "<label> 2437.00 </label></div><div style = 'border:2px solid grey;width: 25%;text-align: center;'>"; //cadenfinal += "<div style='border-bottom: 2px solid grey;font-weight: bold; background-color: #d6d6d6'> INTERÉS </div>"; //cadenfinal += "<label> 00.00 </label></div><div style = 'border:2px solid grey;width: 25%;text-align: center;' >"; //cadenfinal += "<div style='border-bottom: 2px solid grey;font-weight: bold; background-color: #d6d6d6' > TOTAL </div>"; //cadenfinal += "<label> 2437.00 </label></div></div><div style='display: flex;justify-content: space-between;'>"; //cadenfinal += "<label style='margin: 20px'> CUOTAS PENDIENTES: 0 </label><div style=';text-align: center;"; //cadenfinal += "display: flex;margin: 10px 0px;background-color: white;border: 1px solid grey;' >"; //cadenfinal += "<div style='width: 160px;padding:7px 5px;border: 2px solid grey'><b> TOTAL PAGADO </b></div>"; //cadenfinal += "<div style='width: 160px;padding:5px 5px;border: 2px solid grey'> S /. 2437.00 </div>"; //cadenfinal += "</div></div><div style='font-size: 14px;margin: 30px 0'><div> VALLE ENCANTADO S.A.C - RUC 20601460271 </div>"; //cadenfinal += "<div>AV.GUARDIA CIVIL 1321 EDIFICIO CONEXION LIMA OFICINA 602 </div>"; //cadenfinal += "<div>FIJO: 01 - 4349481 / 01 - 4799174 </div><div> CELULAR / WHATSAPP: 938627349 / 938627411 / 938627011 </div>"; //cadenfinal += "<div>CORREO: SOCIOS @CIENEGUILLARIBERADELRIO.COM</div></div>"; cadenfinal += "</div></body></html>"; var styles = new StyleSheet(); Dictionary <string, string> cuadro = new Dictionary <string, string>(); cuadro.Add("font-family", "sans-serif"); cuadro.Add("display", "block"); cuadro.Add("padding", "20px"); cuadro.Add("margin", "10px auto"); cuadro.Add("width", "700px"); cuadro.Add("height", "700px"); cuadro.Add("background-color", "green"); styles.LoadStyle("cuadro", cuadro); var parsehtml = HTMLWorker.ParseToList(new StringReader(cadenfinal), null); foreach (var htmlElement in parsehtml) { document.Add(htmlElement as IElement); } document.Close(); } return(nameTicket + ".pdf"); }
public ActionResult InventoryReportPrint(CMSReportViewModels model) { var uService = new UserService(); var prole = uService.ValidatePageRole(User.Identity.GetUserId(), Page_Code.P0016); if (prole == null) { return(RedirectToAction("ErrorPage", "Account", new ErrorViewModel() { Message = Resource.Message_Access_Denied })); } if (prole.View == null || prole.View == false) { return(RedirectToAction("ErrorPage", "Account", new ErrorViewModel() { Message = Resource.Message_Access_Denied })); } if (!string.IsNullOrEmpty(model.Lot_No) || !string.IsNullOrEmpty(model.Drum_Code) || !string.IsNullOrEmpty(model.Product_Code)) { var cmsService = new CMSService(); var cri = new CMSCriteria(); cri.Lot_No = model.Lot_No; cri.Drum_Code = model.Drum_Code; cri.Product_Code = model.Product_Code; cri.Not_Yet_Deliver = true; cri.Sort_By = model.Sort_By; cri.Drum_Code_Have_Value = true; var result = cmsService.GetCMSCharge(cri); if (result.Code == ReturnCode.SUCCESS) { model.chargelist = result.Object as List <CMS_Charge>; } cri = new CMSCriteria(); cri.Drum_Code_Have_Value = true; var result2 = cmsService.GetCMSCharge(cri); if (result2.Code == ReturnCode.SUCCESS) { model.chargelistAll = result2.Object as List <CMS_Charge>; } } var htmlToConvert = RenderPartialViewAsString("InventoryReportPrint", model); Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.ContentType = "application/pdf"; Response.Charset = Encoding.UTF8.ToString(); Response.HeaderEncoding = Encoding.UTF8; Response.ContentEncoding = Encoding.UTF8; Response.Buffer = true; StringReader sr = new StringReader(htmlToConvert); Document pdfDoc = new Document(PageSize.A4, 10, 10, 10, 40); pdfDoc.SetPageSize(iTextSharp.text.PageSize.A4.Rotate()); HTMLWorker htmlparser = new HTMLWorker(pdfDoc); var writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream); var action = new PdfAction(PdfAction.PRINTDIALOG); writer.SetOpenAction(action); var pageevent = new PDFPageEvent(); writer.PageEvent = pageevent; pdfDoc.Open(); htmlparser.Parse(sr); pdfDoc.Close(); Response.End(); return(View(model)); }
protected void GenerateInvoicePDF() { //Dummy data for Invoice (Bill). string companyName = "ASPSnippets"; int orderNo = 2303; DataTable dt = new DataTable(); dt.Columns.AddRange(new DataColumn[5] { new DataColumn("ProductId", typeof(string)), new DataColumn("Product", typeof(string)), new DataColumn("Price", typeof(int)), new DataColumn("Quantity", typeof(int)), new DataColumn("Total", typeof(int)) }); dt.Rows.Add(101, "Sun Glasses", 200, 5, 1000); dt.Rows.Add(102, "Jeans", 400, 2, 800); dt.Rows.Add(103, "Trousers", 300, 3, 900); dt.Rows.Add(104, "Shirts", 550, 2, 1100); using (StringWriter sw = new StringWriter()) { using (HtmlTextWriter hw = new HtmlTextWriter(sw)) { StringBuilder sb = new StringBuilder(); //Generate Invoice (Bill) Header. sb.Append("<table border = '1' Style='position: absolute; height: 100%; width: 100%'>"); sb.Append("<tr ><td align = 'right'></td></tr>"); sb.Append("<tr border = '0' style='text-align:center;' ><td><h4>Tax Invoice</h4></td></tr>"); sb.Append("<tr border = '0'><td align = 'right'>Original</td></tr>"); sb.Append("<tr>"); sb.Append("<td>"); sb.Append("<table border = '1' >"); sb.Append("<tr><td align='center' style='background-color: #18B5F0' colspan = '2'><b>Order Sheet</b></td></tr>"); sb.Append("<tr><td colspan = '2'></td></tr>"); sb.Append("<tr><td><b>Order No: </b>"); sb.Append(orderNo); 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(companyName); 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 = 'background-color: #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' colspan = '"); sb.Append(dt.Columns.Count - 1); sb.Append("'>Total</td>"); sb.Append("<td>"); sb.Append(dt.Compute("sum(Total)", "")); sb.Append("</td>"); sb.Append("</td>"); sb.Append("</tr></table>"); sb.Append("</tr></table>"); //Export HTML String as PDF. StringReader sr = new StringReader(sb.ToString()); StringReader sr2 = new StringReader("Hello"); Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 10f, 0f); HTMLWorker htmlparser = new HTMLWorker(pdfDoc); PdfWriter writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream); pdfDoc.Open(); htmlparser.Parse(sr); pdfDoc.NewPage(); htmlparser.Parse(sr2); pdfDoc.Close(); Response.ContentType = "application/pdf"; //Response.AddHeader("content-disposition", "attachment;filename=Invoice_" + orderNo + ".pdf"); Response.AddHeader("content-length", "attachment;filename=Invoice_" + orderNo + ".pdf"); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Write(pdfDoc); Response.End(); } } }
public Documento UsuariosExportarPDF(UsuarioFilter filter) { FileStream fs; Document doc = null; PdfWriter writer; try { doc = new Document(); // Verifico el directorio string filePath = System.IO.Path.Combine(HttpRuntime.AppDomainAppPath, "Archivos\\"); if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } var fecha = DateTime.Now.ToString("dd-MM-yyyyHHmm"); // Nombre del archivo string fileName = string.Format("{0}-{1}-{2}.pdf", "Usuarios", filter.campo, fecha); // Generación del PDF fs = new FileStream(System.IO.Path.Combine(filePath, fileName), FileMode.Create, FileAccess.Write, FileShare.None); writer = PdfWriter.GetInstance(doc, fs); doc.Open(); string pathImg1 = System.IO.Path.Combine(HttpRuntime.AppDomainAppPath, "Archivos\\logo_farmix.jpg"); Image image1; if (Image.GetInstance(pathImg1) != null) { image1 = Image.GetInstance(pathImg1); image1.ScalePercent(24F); image1.Alignment = Element.ALIGN_CENTER; doc.Add(image1); } //añadimos linea negra abajo de las imagenes para separar. doc.Add(new Paragraph(new Chunk(new iTextSharp.text.pdf.draw.LineSeparator(2.0F, 100.0F, BaseColor.BLACK, Element.ALIGN_LEFT, 1)))); doc.Add(new Paragraph(" ")); //Inicio datos var lista = GetList(filter); Font fuente1 = new Font(FontFamily.TIMES_ROMAN, 12.0f, Font.BOLD, BaseColor.BLACK); Font fuente2 = new Font(FontFamily.TIMES_ROMAN, 14.0f, Font.BOLD, BaseColor.BLACK); Rectangle rect = PageSize.LETTER; List <IElement> ie; float pageWidth = rect.Width; string html = ""; fecha = DateTime.Now.ToString("dd-MM-yyyy HH:mm"); html = @" <html><head></head><body> <table> <tr><td><b>Usuarios</b></td></tr> <tr><td>Campo: <b>" + filter.campo + @"</b></td></tr> <tr><td>Generado por: <b>" + filter.usuario + @"</b></td></tr> <tr><td>Fecha: <b>" + fecha + @"</b></td></tr> <tr><td>Período: <b>" + filter.periodo + @"</b></td></tr> </table> </body></html>"; ie = HTMLWorker.ParseToList(new StringReader(html), null); foreach (IElement element in ie) { PdfPTable table1 = element as PdfPTable; if (table1 != null) { table1.SetWidthPercentage(new float[] { (float)1 * pageWidth }, rect); } doc.Add(element); } doc.Add(new Paragraph(" ")); if (lista.Count() > 0) { string nombre, apellido, rol = "Sin datos"; if (filter.nombre == null) { nombre = "Sin datos"; } else { nombre = filter.nombre; } if (filter.apellido == null) { apellido = "Sin datos"; } else { apellido = filter.apellido; } if (filter.idRol != 0) { switch (filter.idRol) { case 1: rol = "Dueño"; break; case 2: rol = "Ingeniero"; break; case 3: rol = "Peón"; break; } } html = @" <html><head></head><body> <table> <tr><td><b>Filtro Aplicado</b></td><td></td><td></td></tr> </table> <table border='1'> <thead> <tr> <th>Nombre</th> <th>Apellido</th> <th>Rol</th>"; html += @"</tr> </thead> <tbody> <tr><td>" + nombre + @"</td><td>" + apellido + @"</td><td>" + rol + @"</td></tr> </tbody></table></body></html>"; ie = HTMLWorker.ParseToList(new StringReader(html), null); foreach (IElement element in ie) { PdfPTable table = element as PdfPTable; if (table != null) { table.SetWidthPercentage(new float[] { (float).3 * pageWidth, (float).3 * pageWidth, (float).3 * pageWidth }, rect); } doc.Add(element); } doc.Add(new Paragraph(" ")); html = @" <html><head></head><body> <table border='1'> <thead> <tr> <th>Usuario</th> <th>Nombre</th> <th>Apellido</th> <th>Rol</th> <th>Estado</th> <th>Fecha Alta</th> <th>Fecha Baja</th> </tr> </thead> <tbody>"; foreach (var item in lista) { html += @"<tr><td>" + item.usuario + @"</td><td>" + item.nombre + @"</td><td>" + item.apellido + @"</td><td>" + item.rol + @"</td><td>" + (item.fechaBaja == " " ? "Activo" : "Inactivo") + @"</td><td>" + item.fechaAlta + @"</td><td>" + (item.fechaBaja == " " ? "-" : item.fechaBaja) + @"</td></tr>"; } html += @"</tbody></table> </body></html> "; ie = HTMLWorker.ParseToList(new StringReader(html), null); foreach (IElement element in ie) { PdfPTable table = element as PdfPTable; if (table != null) { table.SetWidthPercentage(new float[] { (float).14 * pageWidth, (float).14 * pageWidth, (float).14 * pageWidth, (float).14 * pageWidth, (float).1 * pageWidth, (float).16 * pageWidth, (float).16 * pageWidth }, rect); } doc.Add(element); } } doc.Close(); return(new Documento() { nombre = fileName }); } catch (Exception ex) { doc.Close(); throw ex; } finally { fs = null; doc = null; writer = null; } }
protected void btnpdf_Click(object sender, ImageClickEventArgs e) { HttpContext.Current.Response.ContentType = "Application/PDF"; HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename= School_Master.pdf"); StringWriter sw = new StringWriter(); HtmlTextWriter tw = new HtmlTextWriter(sw); string qry1 = "Select Dist_List.Dist_Name, SMS_Sub_Division.Sub_Div_Name, sms_school_master.School_Code, sms_school_master.School_Name, sms_school_board.Board from (((sms_school_master inner join Dist_List on sms_school_master.Dist_Code = Dist_List.Dist_Code) inner join SMS_Sub_Division on sms_school_master.Sub_Div_Code = SMS_Sub_Division.Sub_Div_Code) inner join sms_school_board on sms_school_master.Board_ID=sms_school_board.Board_ID) order by Dist_List.Dist_Name, SMS_Sub_Division.Sub_Div_Name, sms_school_board.Board"; SqlCommand cmd = new SqlCommand(qry1, con); SqlDataAdapter da = new SqlDataAdapter(cmd); DataSet ds = new DataSet(); da.Fill(ds); iTextSharp.text.Table tb = new iTextSharp.text.Table(5); tb.BorderWidth = 0.6f; tb.BorderColor = new Color(0, 0, 0); tb.CellsFitPage = true; tb.Padding = 2; tb.Width = 90; //Single widths = new Single() [ 5, 5]; //tb.Widths = widths; if (ds.Tables[0].Rows.Count > 0) { DataTable dt; dt = ds.Tables[0]; Paragraph p31 = new Paragraph("District", new Font(Font.TIMES_ROMAN, 11, Font.BOLD)); iTextSharp.text.Cell tcell_1 = new iTextSharp.text.Cell(p31); tcell_1.Header = true; tcell_1.HorizontalAlignment = Element.ALIGN_CENTER; tcell_1.BackgroundColor = Color.LIGHT_GRAY; tb.AddCell(tcell_1); tb.EndHeaders(); Paragraph p32 = new Paragraph("Sub Division", new Font(Font.TIMES_ROMAN, 11, Font.BOLD)); iTextSharp.text.Cell tcell_2 = new iTextSharp.text.Cell(p32); tcell_2.Header = true; tcell_2.HorizontalAlignment = Element.ALIGN_CENTER; tcell_2.BackgroundColor = Color.LIGHT_GRAY; tb.AddCell(tcell_2); tb.EndHeaders(); Paragraph p33 = new Paragraph("School Code", new Font(Font.TIMES_ROMAN, 11, Font.BOLD)); iTextSharp.text.Cell tcell_3 = new iTextSharp.text.Cell(p33); tcell_3.Header = true; tcell_3.HorizontalAlignment = Element.ALIGN_CENTER; tcell_3.BackgroundColor = Color.LIGHT_GRAY; tb.AddCell(tcell_3); tb.EndHeaders(); Paragraph p34 = new Paragraph("School Name", new Font(Font.TIMES_ROMAN, 11, Font.BOLD)); iTextSharp.text.Cell tcell_4 = new iTextSharp.text.Cell(p34); tcell_4.Header = true; tcell_4.HorizontalAlignment = Element.ALIGN_CENTER; tcell_4.BackgroundColor = Color.LIGHT_GRAY; tb.AddCell(tcell_4); tb.EndHeaders(); Paragraph p35 = new Paragraph("Board", new Font(Font.TIMES_ROMAN, 11, Font.BOLD)); iTextSharp.text.Cell tcell_5 = new iTextSharp.text.Cell(p35); tcell_5.Header = true; tcell_5.HorizontalAlignment = Element.ALIGN_CENTER; tcell_5.BackgroundColor = Color.LIGHT_GRAY; tb.AddCell(tcell_5); tb.EndHeaders(); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { Paragraph p11; Paragraph p12; Paragraph p13; Paragraph p14; Paragraph p15; p11 = new Paragraph(ds.Tables[0].Rows[i]["Dist_Name"].ToString(), new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)); p12 = new Paragraph(ds.Tables[0].Rows[i]["Sub_Div_Name"].ToString(), new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)); p13 = new Paragraph(ds.Tables[0].Rows[i]["School_Code"].ToString(), new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)); p14 = new Paragraph(ds.Tables[0].Rows[i]["School_Name"].ToString(), new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)); p15 = new Paragraph(ds.Tables[0].Rows[i]["Board"].ToString(), new Font(Font.TIMES_ROMAN, 10, Font.NORMAL)); iTextSharp.text.Cell tcell_p111 = new iTextSharp.text.Cell(p11); tcell_p111.HorizontalAlignment = Element.ALIGN_CENTER; tb.AddCell(tcell_p111); iTextSharp.text.Cell tcell_p112 = new iTextSharp.text.Cell(p12); tcell_p112.HorizontalAlignment = Element.ALIGN_CENTER; tb.AddCell(tcell_p112); iTextSharp.text.Cell tcell_p113 = new iTextSharp.text.Cell(p13); tcell_p113.HorizontalAlignment = Element.ALIGN_CENTER; tb.AddCell(tcell_p113); iTextSharp.text.Cell tcell_p114 = new iTextSharp.text.Cell(p14); tcell_p114.HorizontalAlignment = Element.ALIGN_CENTER; tb.AddCell(tcell_p114); iTextSharp.text.Cell tcell_p115 = new iTextSharp.text.Cell(p15); tcell_p115.HorizontalAlignment = Element.ALIGN_CENTER; tb.AddCell(tcell_p115); } } StringReader sr = new StringReader(sw.ToString()); Document pdfDoc = new Document(PageSize.A4, 2, 2, 2, 1); HTMLWorker htmlparser = new HTMLWorker(pdfDoc); PdfWriter.GetInstance(pdfDoc, HttpContext.Current.Response.OutputStream); PdfWriter writer = PdfWriter.GetInstance(pdfDoc, Response.OutputStream); String pcnt; pcnt = (writer.CurrentPageNumber - 1).ToString(); pcnt = pcnt.Substring(1); pdfDoc.Open(); pdfDoc.Add(new Paragraph(" SCHOOL MASTER")); pdfDoc.Add(tb); pdfDoc.Close(); HttpContext.Current.Response.Write(pdfDoc); HttpContext.Current.Response.End(); }