protected void btnGeneratePdf_Click1(object sender, EventArgs e) { StringBuilder sb = new StringBuilder(); sb.Append("<table>"); sb.Append("<tr>"); sb.Append("<th>Title</th>"); sb.Append("<th>Author</th>"); sb.Append("<th>PublishDate</th>"); sb.Append("</tr>"); MongoDbProvider.db.LoadData <Book>().ToList().ForEach(b => { sb.Append("<tr>"); sb.AppendFormat("<td>{0}</td>", b.Title); sb.AppendFormat("<td>{0}</td>", b.Author); sb.AppendFormat("<td>{0}</td>", b.PublishDate); sb.Append("</tr>"); }); sb.Append("</table>"); PDFBuilder.HtmlToPdfBuilder builder = new PDFBuilder.HtmlToPdfBuilder(PageSize.LETTER); PDFBuilder.HtmlPdfPage page = builder.AddPage(); page.AppendHtml(sb.ToString()); byte[] file = builder.RenderPdf(); string tempFolder = AppDomain.CurrentDomain.BaseDirectory + "PdfResult\\"; string tempFileName = DateTime.Now.ToString("yyyy-MM-dd") + "-" + Guid.NewGuid() + ".pdf"; if (Helpers.DirectoryExist(tempFolder)) { if (!File.Exists(tempFolder + tempFileName)) { File.WriteAllBytes(tempFolder + tempFileName, file); } } }
protected void btnGeneratePdf_Click1(object sender, EventArgs e) { string str = string.Empty; using (StreamReader sr = new StreamReader(Server.MapPath("html.txt"))) { str = sr.ReadToEnd(); } StringBuilder sb = new StringBuilder(); //sb.Append("<style>.th {background-color: red;}</style>"); sb.Append("<table>"); sb.Append("<tr>"); sb.Append("<th class=\"th\">Title</th>"); sb.Append("<th>Author</th>"); sb.Append("<th>PublishDate</th>"); sb.Append("</tr>"); MongoDbProvider.db.LoadData <Book>().ToList().ForEach(b => { sb.Append("<tr>"); sb.AppendFormat("<td>{0}</td>", b.Title); sb.AppendFormat("<td>{0}</td>", b.Author); sb.AppendFormat("<td>{0}</td>", b.PublishDate); sb.Append("</tr>"); }); sb.Append("</table>"); PDFBuilder.HtmlToPdfBuilder builder = new PDFBuilder.HtmlToPdfBuilder(PageSize.LETTER); //builder.ImportStylesheet(AppDomain.CurrentDomain.BaseDirectory + "style.css"); PDFBuilder.HtmlPdfPage page = builder.AddPage(); page.AppendHtml(str); byte[] file = builder.RenderPdf(); string tempFolder = AppDomain.CurrentDomain.BaseDirectory + "PdfResult\\"; string tempFileName = DateTime.Now.ToString("yyyy-MM-dd") + "-" + Guid.NewGuid() + ".pdf"; if (Helpers.DirectoryExist(tempFolder)) { if (!File.Exists(tempFolder + tempFileName)) { File.WriteAllBytes(tempFolder + tempFileName, file); } } }
public static void Export() { var supermarketDb = new SuperMarketContext(); var strBuilder = new StringBuilder(); var dates = supermarketDb.Dates.Select(x => x.SaleDate).ToArray(); decimal grandTotal = 0m; strBuilder.Append("<table border='1'>"); strBuilder.Append("<tr>"); strBuilder.Append("<th style=\"font-size:16px; text-align:center;\" colspan='5'>Aggregated Sales Report</th>"); strBuilder.Append("</tr>"); strBuilder.Append("</table>"); for (int i = 0; i < dates.Count(); i++) { strBuilder.Append("<table border='1'>"); strBuilder.Append("<tr bgcolor='#BBBBBB'>"); strBuilder.AppendFormat("<th colspan='5'>Date: {0}</th>", dates[i]); strBuilder.Append("</tr>"); strBuilder.Append("<tr bgcolor='#BBBBBB'>"); strBuilder.Append("<th class=\"th\"><b>Product Name</b></th>"); strBuilder.Append("<th><b>Quantity</b></th>"); strBuilder.Append("<th><b>Unit Price</b></th>"); strBuilder.Append("<th><b>Location</b></th>"); strBuilder.Append("<th><b>Sum</b></th>"); strBuilder.Append("</tr>"); string saleDate = dates[i]; var sales = from sale in supermarketDb.Sales join product in supermarketDb.Products on sale.ProductId equals product.ID where sale.Date.SaleDate == saleDate select new { Product = product.ProductName, Quantity = sale.Quantity, UnitPrice = sale.UnitPrice, LocationName = sale.Location.Name, Sum = sale.Sum }; decimal totalSum = 0; foreach (var sale in sales) { totalSum = totalSum + sale.Sum; strBuilder.Append("<tr>"); strBuilder.AppendFormat("<td>{0}</td>", sale.Product); strBuilder.AppendFormat("<td>{0}</td>", sale.Quantity); strBuilder.AppendFormat("<td>{0}</td>", sale.UnitPrice); strBuilder.AppendFormat("<td>{0}</td>", sale.LocationName); strBuilder.AppendFormat("<td>{0}</td>", sale.Sum); strBuilder.Append("</tr>"); } grandTotal = grandTotal + totalSum; strBuilder.Append("<tr>"); strBuilder.AppendFormat("<td colspan='4' align=right>Total Sum for {0}: </td>", dates[i]); strBuilder.AppendFormat("<td>{0}</td>", totalSum); strBuilder.Append("</tr>"); strBuilder.Append("</table>"); if (i != 2) { strBuilder.Append("<br />"); } } strBuilder.Append("<table border='1'>"); strBuilder.Append("<tr>"); strBuilder.Append("<td colspan='4' align=right>Grand total: </td>"); strBuilder.AppendFormat("<td>{0}</td>", grandTotal); strBuilder.Append("</tr>"); strBuilder.Append("</table>"); PDFBuilder.HtmlToPdfBuilder builder = new PDFBuilder.HtmlToPdfBuilder(PageSize.LETTER); PDFBuilder.HtmlPdfPage page = builder.AddPage(); page.AppendHtml(strBuilder.ToString()); byte[] file = builder.RenderPdf(); string tempFolder = "../../../PDFReports/"; string tempFileName = DateTime.Now.ToString("yyyy-MM-dd") + "-" + Guid.NewGuid() + ".pdf"; if (Helpers.DirectoryExist(tempFolder)) { if (!File.Exists(tempFolder + tempFileName)) { File.WriteAllBytes(tempFolder + tempFileName, file); } } }
public static void CreatePDFs() { Console.WriteLine("PDF Report creation started..."); StringBuilder sb = new StringBuilder(); using (var dbEF = new SupermarketEntities()) { sb.Append("<table cellpadding='5' border='1'>"); sb.Append("<tr><th align='center'><b>Aggregated Sales Report</b></th></tr>"); sb.Append("</table>"); sb.Append("<table cellpadding='5' border='1'>"); decimal grandTotal = 0M; var db = dbEF.Sales.Select(x => x.Date).OrderBy(d => d.Value).Distinct(); foreach (var dateTime in db) { var date = DateTime.Parse(dateTime.ToString()).ToShortDateString(); //Console.WriteLine(dateTime); sb.AppendFormat("<tr bgcolor='silver'><td colspan='5'>Date: {0}</td></tr>", date); sb.Append("<tr bgcolor='silver'>"); sb.Append("<td><b>Product</b></td>"); sb.Append("<td><b>Quantity</b></td>"); sb.Append("<td><b>Unit Price</b></td>"); sb.Append("<td><b>Location</b></td>"); sb.Append("<td><b>Sum</b></td>"); sb.Append("</tr>"); var d = dbEF.Sales.Where(x => x.Date == dateTime); decimal sum = 0M; foreach (var item in d) { sb.Append("<tr>"); sb.AppendFormat("<td>{0}</td>", item.Product.ProductName); sb.AppendFormat("<td>{0}</td>", item.Quanity); sb.AppendFormat("<td>{0:F2}</td>", item.UnitPrice); sb.AppendFormat("<td>{0}</td>", item.Location.LocationName); sb.AppendFormat("<td>{0:F2}</td>", item.Sum); sb.Append("</tr>"); sum += item.Sum; } grandTotal += sum; sb.Append("<tr><td>...</td><td>...</td><td>...</td><td>...</td><td>...</td></tr>"); sb.AppendFormat("<tr><td colspan='4' align='right'>Total sum for {0}:</td><td><b>{1:F2}</b></td></tr>", date, sum); } sb.AppendFormat("<tr><td colspan='4' align='right'>Grand Total:</td><td><b>{0:F2}</b></td></tr>", grandTotal); sb.Append("</table>"); Console.WriteLine("PDF Report generated."); } PDFBuilder.HtmlToPdfBuilder builder = new PDFBuilder.HtmlToPdfBuilder(PageSize.LETTER); PDFBuilder.HtmlPdfPage page = builder.AddPage(); page.AppendHtml(sb.ToString()); byte[] file = builder.RenderPdf(); string tempFolder = "../../../PdfResult\\"; string tempFileName = DateTime.Now.ToString("yyyy-MM-dd") + "-" + Guid.NewGuid() + ".pdf"; if (Helpers.Helper.DirectoryExist(tempFolder)) { if (!File.Exists(tempFolder + tempFileName)) { File.WriteAllBytes(tempFolder + tempFileName, file); } } }