コード例 #1
0
ファイル: Home.aspx.cs プロジェクト: AgenciaLab/PageToPDF
    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)
        {
        }
    }
コード例 #2
0
    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();
    }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
 //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);
 }
コード例 #5
0
        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);
            }
        }