//public FileResult GetEligibilityForm(string id = "0") public ActionResult GetMDTFormPDF(long id = 0, bool isdoc = false) { var fileBytes = new byte[0]; if (isdoc) { var attachDetails = FactoryInstance.Instance.CreateInstance <Reporting>().GetMDTAttachmentById(id); fileBytes = attachDetails.AttachmentFileByte; } else { var result = FactoryInstance.Instance.CreateInstance <Reporting>().GetMDTReportById(id, "pdf"); // Render the view xml to a string, then parse that string into an XML dom. string html = this.RenderActionResultToString(this.View("MDTFormPdfView", result)); var output = new MemoryStream(); using (var doc = new Document(PageSize.A4)) { var writer = PdfWriter.GetInstance(doc, output); PDFBackgroundHelper pageEventHelper = new PDFBackgroundHelper(); writer.PageEvent = pageEventHelper; writer.CloseStream = false; doc.Open(); var tagProcessors = (DefaultTagProcessorFactory)Tags.GetHtmlTagProcessorFactory(); tagProcessors.RemoveProcessor(HTML.Tag.IMG); // remove the default processor tagProcessors.AddProcessor(HTML.Tag.IMG, new CustomImageTagProcessor()); // use our new processor CssFilesImpl cssFiles = new CssFilesImpl(); cssFiles.Add(XMLWorkerHelper.GetInstance().GetDefaultCSS()); var cssResolver = new StyleAttrCSSResolver(cssFiles); cssResolver.AddCss(@"code { padding: 2px 4px; }", "utf-8", true); var charset = Encoding.UTF8; var hpc = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider())); hpc.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(tagProcessors); // inject the tagProcessors var htmlPipeline = new HtmlPipeline(hpc, new PdfWriterPipeline(doc, writer)); var pipeline = new CssResolverPipeline(cssResolver, htmlPipeline); var worker = new XMLWorker(pipeline, true); var xmlParser = new XMLParser(true, worker, charset); xmlParser.Parse(new StringReader(html)); } output.Position = 0; fileBytes = output.ToArray(); } // Send the binary data to the browser. return(new BinaryContentResult(fileBytes, "application/pdf")); // return File(fileBytes, "application/pdf", "MDT form of" + result.Name + ".pdf"); }
protected void imgbtnPDF_OnClick(object sender, EventArgs e) { try { string text = Session[ApplicationSession.OrganisationName].ToString(); string text1 = Session[ApplicationSession.OrganisationAddress].ToString(); string text2 = "Dryer Production Log 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: 110px;'><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(gvDryingProductionLog.HeaderRow.Cells.Count); //TableCell headerCell = new TableCell(); PdfPCell headerCell = new PdfPCell(new Phrase("Sr")); 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("Date")); 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("Steam(Kg)")); 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("Power Dryer(KW)")); headerCell3.Padding = 5; headerCell3.BorderWidth = 1.5f; headerCell3.HorizontalAlignment = Element.ALIGN_CENTER; headerCell3.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell3); float[] widthsTAS = { 180f, 180f, 180f, 180f }; pdfPTable.SetWidths(widthsTAS); for (int i = 0; i < gvDryingProductionLog.Rows.Count; i++) { if (gvDryingProductionLog.Rows[i].RowType == DataControlRowType.DataRow) { for (int j = 0; j < gvDryingProductionLog.Columns.Count; j++) { string cellText = Server.HtmlDecode(gvDryingProductionLog.Rows[i].Cells[j].Text); 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()); Document pdfDoc = new Document(PageSize.A4, -50f, -50f, 20f, 30f); 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=DryerProductionLogReport" + 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>"); } }
protected void imgPdfButton_Click(object sender, EventArgs e) { try { string text = Session[ApplicationSession.OrganisationName].ToString(); string text1 = Session[ApplicationSession.OrganisationAddress].ToString(); string text2 = "Lab Report SMP"; 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/>"); sb.Append("<br/>"); PdfPTable pdfPTable = new PdfPTable(gvLabReportSMP.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("Date")); 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("Type Of Powder")); 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("Time")); 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("Batch no")); 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("Bag No")); 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("Weight.")); 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("Appearance")); 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("Moisture")); 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("Total solids")); 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("Bulk density")); 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("Milk Fat")); 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("Acidity LA")); 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("Wettability")); 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("Scorched particle")); 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("Sol Index (MI)")); 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("Coffee Test")); 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("Flavour")); 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("Protein (%)")); 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("Ash (%)")); 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("Lumpiness")); 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("Adultration")); 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("User Id")); 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("Edit")); 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("Delete")); headerCell24.Padding = 5; headerCell24.BorderWidth = 1.5f; headerCell24.HorizontalAlignment = Element.ALIGN_CENTER; headerCell24.VerticalAlignment = Element.ALIGN_MIDDLE; pdfPTable.AddCell(headerCell24); 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 }; pdfPTable.SetWidths(widthsTAS); for (int i = 0; i < gvLabReportSMP.Rows.Count; i++) { if (gvLabReportSMP.Rows[i].RowType == DataControlRowType.DataRow) { for (int j = 0; j < gvLabReportSMP.Columns.Count; j++) { string cellText = Server.HtmlDecode(gvLabReportSMP.Rows[i].Cells[j].Text); gvLabReportSMP.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("\\images") + "\\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("\\images") + "\\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()); 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); //----------- 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=LabReportSMP" + 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>"); } }
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>"); } }