private void DownloadReportAsPDF() { try { string url = this.Request.Form["btnValue"]; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); String ver = response.ProtocolVersion.ToString(); StreamReader reader = new StreamReader(response.GetResponseStream()); string htmlContent = reader.ReadToEnd(); NReco.PdfGenerator.HtmlToPdfConverter obj = new NReco.PdfGenerator.HtmlToPdfConverter(); obj.Orientation = NReco.PdfGenerator.PageOrientation.Landscape; obj.PageWidth = 1200; obj.Zoom = 1; System.IO.MemoryStream stream = new System.IO.MemoryStream(); obj.GeneratePdfFromFile("http://www.google.com.br", null, stream); string respondentName = string.Empty; Response.Clear(); Response.ContentType = "application/pdf"; Response.AddHeader("content-disposition", "attachment;filename=Report.pdf"); Response.Buffer = true; stream.WriteTo(Response.OutputStream); Response.End(); } catch (Exception ex) { } }
protected void PdfOlustur_Click(object sender, EventArgs e) { var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter(); htmlToPdf.GeneratePdfFromFile("http://adhibe-property.com/raporsonuc.aspx?id=" + id, null, "Dosya/exprt.pdf"); Response.ContentType = "Application/pdf"; Response.AppendHeader("Content-Disposition", "attachment; filename=adhibe.pdf"); Response.TransmitFile(Server.MapPath("~/Dosya/exprt.pdf")); Response.End(); }
public static string GenerateAttendanceReport(string folderName, string url, string identityTranslator) { try { NReco.PdfGenerator.HtmlToPdfConverter pdf = new NReco.PdfGenerator.HtmlToPdfConverter(); pdf.Margins = new NReco.PdfGenerator.PageMargins(); pdf.Margins.Top = 1; pdf.Margins.Bottom = 5; pdf.Margins.Right = 1; pdf.Margins.Left = 1; pdf.Size = PageSize.A4; pdf.Orientation = PageOrientation.Portrait; //string sFileName = DateTime.Now.ToFileTime().ToString(); string filePath = System.Configuration.ConfigurationManager.AppSettings["BaseUrlForPDF"] + url; //string filePath = url; var pdfBytes = pdf.GeneratePdfFromFile(filePath, null); //sFileName = "דוח" + sFileName; string sFileName = "pdfReport_" + DateTime.Now.ToFileTime().ToString(); File.WriteAllBytes(AppDomain.CurrentDomain.BaseDirectory + "\\Files\\pdfReports\\" + sFileName + ".pdf", pdfBytes); List <UserBasic> lusers = new List <UserBasic>(); UserBasic provider = new UserBasic(); UserBasic shmaya = new UserBasic(); shmaya.nvEmail = "*****@*****.**"; lusers = UserBasic.GetUsersBasic(3); foreach (UserBasic user in lusers) { if (user.nvID == identityTranslator) { provider = user; break; } } lusers = new List <UserBasic>(); lusers.Add(provider); lusers.Add(shmaya); Messages message = new Messages(); message.nvFrom = "*****@*****.**"; message.nvSubject = "מצ\"ב דו\"ח ביצוע הזמנה"; List <Attachment> lAttach = new List <Attachment>(); lAttach.Add(new Attachment(AppDomain.CurrentDomain.BaseDirectory + "\\Files\\pdfReports\\" + sFileName + ".pdf")); Messages.SendEmailToGroup(lusers, message, 1, lAttach); return(filePath); } catch (Exception ex) { Log.ExceptionLog(ex.Message, "GenerateAttendanceReport"); return(null); } }
//Directly PDF generation with using the NReco library public override void OnActionExecuting(ActionExecutingContext context) { if (context.HttpContext.Request.Query.ContainsKey("convert")) { var htmlToPdf = new NReco.PdfGenerator.HtmlToPdfConverter(); htmlToPdf.GeneratePdfFromFile( GetUrl(context.HttpContext.Request).Split('?')[0], null, context.HttpContext.Response.Body); htmlToPdf.Size = PageSize.Default; context.Result = new EmptyResult(); context.HttpContext.Response.ContentType = "application/pdf"; return; } base.OnActionExecuting(context); }
public static string GeneratePdfFromHtml(string title, string html, string css, string sFileName, string identityTranslator) { try { NReco.PdfGenerator.HtmlToPdfConverter pdf = new NReco.PdfGenerator.HtmlToPdfConverter(); pdf.Margins = new NReco.PdfGenerator.PageMargins(); pdf.Margins.Top = 10; pdf.Margins.Bottom = 10; pdf.Margins.Right = 10; pdf.Margins.Left = 10; pdf.Size = PageSize.A4; pdf.Orientation = PageOrientation.Landscape; //pdf.CustomWkHtmlTocArgs = "--toc-disable-back-links"; //pdf.CustomWkHtmlPageArgs = "--header-html"; //pdf.Size = PageSize.A4; //string hostName = System.ServiceModel.Web.WebOperationContext.Current.IncomingRequest.UriTemplateMatch.RequestUri.Host + System.Web.Hosting.HostingEnvironment.ApplicationHost.GetVirtualPath(); //css = css.Replace("../", hostName + "/"); //pdf.PageFooterHtml = "<div style='text-align:center;'><span class='page' style='border-left:1px solid #ddbfd3 ;padding-left:10px'></span> / <span style='border-right:1px solid #ddbfd3 ;padding-right:10px' class='topage'></span></div>"; //pdf.PageHeaderHtml = "<div><div style='text-align:center; font-size:20px; color: #06416D ; font-family: Arial'>" + title + "</div></div>"; html = "<html><head><meta charset='utf-8' /><style type='text/css'>" + css + "</style></head>" + "<body><div style='text-align:right;' dir='rtl'>" + html + "</div></body></html>"; string fileName = sFileName.Replace("\\", "").Replace("/", "").Replace(":", "").Replace("*", "").Replace("?", "").Replace("\"", "").Replace("<", "").Replace(">", "").Replace("|", "") + "_" + DateTime.Now.ToFileTime(); sFileName += "_" + DateTime.Now.ToFileTime().ToString() + ".pdf"; byte[] Bytes = Encoding.UTF8.GetBytes(html); File.WriteAllBytes(AppDomain.CurrentDomain.BaseDirectory + "\\Files\\pdfReports\\pdfGenerator" + fileName + ".html", Bytes); Log.ExceptionLog("file path: ", AppDomain.CurrentDomain.BaseDirectory + "Files\\pdfReports\\pdfGenerator" + fileName + ".html"); var pdfBytes = pdf.GeneratePdfFromFile(AppDomain.CurrentDomain.BaseDirectory + "\\Files\\pdfReports\\pdfGenerator" + fileName + ".html", null); File.WriteAllBytes(AppDomain.CurrentDomain.BaseDirectory + "\\Files\\pdfReports\\pdfGenerator" + fileName + ".pdf", pdfBytes); //File.WriteAllBytes(dir + fileName + ".pdf", pdfBytes); List <UserBasic> lusers = new List <UserBasic>(); UserBasic provider = new UserBasic(); UserBasic shmaya = new UserBasic(); shmaya.nvEmail = "*****@*****.**"; lusers = UserBasic.GetUsersBasic(3); foreach (UserBasic user in lusers) { if (user.nvID == identityTranslator) { provider = user; break; } } lusers = new List <UserBasic>(); lusers.Add(provider); lusers.Add(shmaya); Messages message = new Messages(); message.nvFrom = "*****@*****.**"; message.nvSubject = "מצ\"ב דו\"ח ביצוע הזמנה"; List <Attachment> lAttach = new List <Attachment>(); lAttach.Add(new Attachment(AppDomain.CurrentDomain.BaseDirectory + "\\Files\\pdfReports\\pdfGenerator" + fileName + ".pdf")); Messages.SendEmailToGroup(lusers, message, 1, lAttach); return(fileName + ".pdf"); } catch (Exception ex) { Log.ExceptionLog(ex.Message, "GeneratePdfFromHtml"); return(null); } }