예제 #1
0
        public override void ExecuteResult(ControllerContext context)
        {
            var pdfConverter = new PdfConverter
            {
                LicenseKey         = "f/1a0tPOp3hfiJQaOn6P3nNmy4naJk9vM5/uDwaDgYeS+Zz0xa3rM6/D3au4Hwaq",
                PdfDocumentOptions =
                {
                    PdfPageSize           = PdfPageSize.A4,
                    PdfPageOrientation    = PDFPageOrientation.Portrait,
                    PdfCompressionLevel   = PdfCompressionLevel.NoCompression,
                    ShowHeader            = false,
                    ShowFooter            = false,
                    LeftMargin            =                                 0,
                    RightMargin           =                                 0,
                    TopMargin             =                                 0,
                    BottomMargin          =                                 0,
                    FitWidth              = false,
                    GenerateSelectablePdf = true,
                    EmbedFonts            = true
                },
                ActiveXEnabled   = true,
                PdfFooterOptions = { ShowPageNumber = true }
            };

            UrlHelper helper = new UrlHelper(context.RequestContext);
            string    url    = helper.Action("Index", "Home", null, "http");

            if (BrandID.HasValue)
            {
                url = helper.Action("Index", "Home", new { brandID = BrandID.Value }, "http");
            }

            pdfConverter.NavigationTimeout = int.Parse(new TimeSpan(0, 15, 0).TotalSeconds.ToString());
            byte[] downloadBytes = pdfConverter.GetPdfFromUrlBytes(url);

            var response = HttpContext.Current.Response;

            response.Clear();
            response.ClearHeaders();
            response.ClearContent();
            response.AddHeader("Content-Type", "binary/octet-stream");
            response.AddHeader("Content-Disposition",
                               "attachment; filename=Pricelist.pdf;");
            response.Buffer       = false;
            response.BufferOutput = false;
            response.Flush();

            using (var writer = new StreamWriter(response.OutputStream))
            {
                writer.WriteLine("");
                writer.Flush();
            }

            response.Flush();

            response.BinaryWrite(downloadBytes);
            response.Flush();

            response.End();
        }
예제 #2
0
        public void Genratepdf1(string str_Url, string filename)
        {
            try
            {
                string temp_path = "";

                PdfConverter pdfConverter_Transcrpit = new PdfConverter();
                string       temp1 = "";
                pdfConverter_Transcrpit.LicenseKey = "eVJIWUtLWUtZTFdJWUpIV0hLV0BAQEA=";

                PdfDocumentOptions docopt = new PdfDocumentOptions();
                pdfConverter_Transcrpit.PageWidth  = 1100;
                pdfConverter_Transcrpit.PageHeight = 500;
                byte[] downloadBytes = pdfConverter_Transcrpit.GetPdfFromUrlBytes(str_Url);
                pdfConverter_Transcrpit.SavePdfFromUrlToFile(str_Url, "D:\\LMS2.0Final\\LMS\\ABN\\pdfs\\test1.pdf");
                System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
                response.Clear();
                response.AddHeader("Content-Type", "binary/octet-stream");
                response.AddHeader("Content-Disposition", "attachment; filename=" + filename + ".pdf" + "; size=" + downloadBytes.Length.ToString());
                response.Flush();
                response.BinaryWrite(downloadBytes);
                response.Flush();
                response.End();
            }
            catch (Exception EX)
            {
                //return "";
                throw EX;
            }
        }
예제 #3
0
파일: PdfFunctions.cs 프로젝트: Epitomy/CMS
        public static byte[] GeneratePdfBytesFromUrl(string url, int top, int left)
        {
            PdfConverter pc = GetPdfConverter();

            // pc.PdfDocumentOptions.TopMargin = top;
            //pc.PdfDocumentOptions.LeftMargin = left;
            return(pc.GetPdfFromUrlBytes(url));
        }
예제 #4
0
        public override void ExecuteResult(ControllerContext context)
        {
            var pdfConverter = new PdfConverter
            {
                LicenseKey         = "f/1a0tPOp3hfiJQaOn6P3nNmy4naJk9vM5/uDwaDgYeS+Zz0xa3rM6/D3au4Hwaq",
                PdfDocumentOptions =
                {
                    PdfPageSize           = PdfPageSize.A4,
                    PdfPageOrientation    = PDFPageOrientation.Portrait,
                    PdfCompressionLevel   = PdfCompressionLevel.NoCompression,
                    ShowHeader            = false,
                    ShowFooter            = false,
                    LeftMargin            =                                 0,
                    RightMargin           =                                 0,
                    TopMargin             =                                 0,
                    BottomMargin          =                                 0,
                    FitWidth              = false,
                    GenerateSelectablePdf = true,
                    EmbedFonts            = true
                },
                ActiveXEnabled   = true,
                PdfFooterOptions = { ShowPageNumber = true }
            };

            UrlHelper helper = new UrlHelper(context.RequestContext);
            //string url = string.Format("http://localhost/Concentrator.ui.Management/FactSheet/FactSheet?productID={0}&logo={1}&languageID={2}",_productID,_logo,_languageID);

            var url = string.Format("http://{0}/FactSheet/FactSheet?productID={0}&logo={1}&languageID={2}", ConfigurationManager.AppSettings["ConcentratorManagement"].ToString(), _productID, _logo, _languageID);


            byte[] downloadBytes = pdfConverter.GetPdfFromUrlBytes(url);

            var response = HttpContext.Current.Response;

            response.Clear();
            response.ClearHeaders();
            response.ClearContent();
            response.AddHeader("Content-Type", "binary/octet-stream");
            response.AddHeader("Content-Disposition",
                               "attachment; filename=FactSheet.pdf;");
            response.Buffer       = false;
            response.BufferOutput = false;
            response.Flush();

            using (var writer = new StreamWriter(response.OutputStream))
            {
                writer.WriteLine("");
                writer.Flush();
            }

            response.Flush();

            response.BinaryWrite(downloadBytes);
            response.Flush();

            response.End();
        }
예제 #5
0
        private static void Default()
        {
            PdfConverter pdfConverter = new PdfConverter();

            pdfConverter.PdfDocumentOptions.PdfPageSize           = PdfPageSize.A4;
            pdfConverter.PdfDocumentOptions.PdfCompressionLevel   = PdfCompressionLevel.Normal;
            pdfConverter.PdfDocumentOptions.ShowHeader            = true;
            pdfConverter.PdfDocumentOptions.ShowFooter            = true;
            pdfConverter.PdfDocumentOptions.LeftMargin            = 5;
            pdfConverter.PdfDocumentOptions.RightMargin           = 5;
            pdfConverter.PdfDocumentOptions.TopMargin             = 5;
            pdfConverter.PdfDocumentOptions.BottomMargin          = 5;
            pdfConverter.PdfDocumentOptions.GenerateSelectablePdf = true;

            pdfConverter.PdfDocumentOptions.ShowHeader = true;
            //pdfConverter.PdfHeaderOptions.HeaderText = "Sample header: " + "<br><font color='#ff0000'>ASDF</a><br/><B>DDD</B>";

            pdfConverter.PdfHeaderOptions.HtmlToPdfArea   = new HtmlToPdfArea("http://localhost:24533/HtmlPage.html");
            pdfConverter.PdfHeaderOptions.HeaderTextColor = Color.Blue;
            //pdfConverter.PdfHeaderOptions.HeaderDescriptionText = string.Empty;
            pdfConverter.PdfHeaderOptions.DrawHeaderLine = false;

            //pdfConverter.PdfFooterOptions.FooterText =
            //    "Sample footer: <B>Jimmy</B>. You can change color, font and other options";

            pdfConverter.PdfFooterOptions.HtmlToPdfArea   = new HtmlToPdfArea("http://localhost:24533/HtmlPage.html");
            pdfConverter.PdfFooterOptions.FooterTextColor = Color.Blue;
            pdfConverter.PdfFooterOptions.DrawFooterLine  = false;
            pdfConverter.PdfFooterOptions.PageNumberText  = "Page";
            pdfConverter.PdfFooterOptions.ShowPageNumber  = true;

            //pdfConverter.LicenseKey = "put your serial number here";
            byte[] downloadBytes = pdfConverter.GetPdfFromUrlBytes("www.vipsoft.com.cn/index.html");


            System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
            response.Clear();
            response.AddHeader("Content-Type", "binary/octet-stream");
            response.AddHeader("Content-Disposition",
                               "attachment; filename=" + "Test.pdf" + "; size=" + downloadBytes.Length.ToString());
            response.Flush();
            response.BinaryWrite(downloadBytes);
            response.Flush();
            response.End();
        }
예제 #6
0
        private static void Default()
        {
            PdfConverter pdfConverter = new PdfConverter();

            pdfConverter.PdfDocumentOptions.PdfPageSize = PdfPageSize.A4;
            pdfConverter.PdfDocumentOptions.PdfCompressionLevel = PdfCompressionLevel.Normal;
            pdfConverter.PdfDocumentOptions.ShowHeader = true;
            pdfConverter.PdfDocumentOptions.ShowFooter = true;
            pdfConverter.PdfDocumentOptions.LeftMargin = 5;
            pdfConverter.PdfDocumentOptions.RightMargin = 5;
            pdfConverter.PdfDocumentOptions.TopMargin = 5;
            pdfConverter.PdfDocumentOptions.BottomMargin = 5;
            pdfConverter.PdfDocumentOptions.GenerateSelectablePdf = true;

            pdfConverter.PdfDocumentOptions.ShowHeader = true;
            //pdfConverter.PdfHeaderOptions.HeaderText = "Sample header: " + "<br><font color='#ff0000'>ASDF</a><br/><B>DDD</B>";

            pdfConverter.PdfHeaderOptions.HtmlToPdfArea = new HtmlToPdfArea("http://localhost:24533/HtmlPage.html");
            pdfConverter.PdfHeaderOptions.HeaderTextColor = Color.Blue;
            //pdfConverter.PdfHeaderOptions.HeaderDescriptionText = string.Empty;
            pdfConverter.PdfHeaderOptions.DrawHeaderLine = false;

            //pdfConverter.PdfFooterOptions.FooterText =
            //    "Sample footer: <B>Jimmy</B>. You can change color, font and other options";

            pdfConverter.PdfFooterOptions.HtmlToPdfArea = new HtmlToPdfArea("http://localhost:24533/HtmlPage.html");
            pdfConverter.PdfFooterOptions.FooterTextColor = Color.Blue;
            pdfConverter.PdfFooterOptions.DrawFooterLine = false;
            pdfConverter.PdfFooterOptions.PageNumberText = "Page";
            pdfConverter.PdfFooterOptions.ShowPageNumber = true;

            //pdfConverter.LicenseKey = "put your serial number here";
            byte[] downloadBytes = pdfConverter.GetPdfFromUrlBytes("www.vipsoft.com.cn/index.html");

            System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
            response.Clear();
            response.AddHeader("Content-Type", "binary/octet-stream");
            response.AddHeader("Content-Disposition",
                               "attachment; filename=" + "Test.pdf" + "; size=" + downloadBytes.Length.ToString());
            response.Flush();
            response.BinaryWrite(downloadBytes);
            response.Flush();
            response.End();
        }
        public FileContentResult PrintReportToPDF(int InvoiceID, int GroupID)
        {
            PdfConverter pdf = new PdfConverter();

            //pdf.PdfDocumentOptions.PdfPageSize = PdfPageSize.Letter;
            pdf.PdfDocumentOptions.BottomMargin       = 0;
            pdf.PdfDocumentOptions.TopMargin          = 15;
            pdf.PdfDocumentOptions.LeftMargin         = 40;
            pdf.PdfDocumentOptions.RightMargin        = 40;
            pdf.PdfDocumentOptions.PdfPageOrientation = PDFPageOrientation.Landscape;
            pdf.PdfDocumentOptions.ShowFooter         = true;
            pdf.PdfFooterOptions.ShowPageNumber       = true;
            pdf.LicenseKey = "q4CZi5qai5Oci5KFm4uYmoWamYWSkpKS";

            string AuthName  = this.Request.Cookies[".ASPXAUTH"].Name;
            string AuthValue = this.Request.Cookies[".ASPXAUTH"].Value;

            //pdf.HttpRequestHeaders = "Cookie: name=" + AuthValue;
            pdf.HttpRequestHeaders = String.Format(
                "Cookie : {0}={1}\r\n", AuthName, AuthValue
                );

            string UrlToPDF = System.Configuration.ConfigurationManager.AppSettings["ExportPDFPath"] //"http://screeningone.com:8080/" /*"http://localhost:1225"*/ /*"http://s1-tpa-dv1:82/"*/
                              + Url.Action("InvoiceReportsIndexMode7", "PDF", new { InvoiceID = InvoiceID, GroupID = GroupID });

            /*PdfConverter pdf2 = new PdfConverter();
             * pdf2.PdfDocumentOptions.BottomMargin = 20;
             * pdf2.PdfDocumentOptions.TopMargin = 20;
             * pdf2.PdfDocumentOptions.PdfPageOrientation = PDFPageOrientation.Landscape;
             * pdf2.PdfDocumentOptions.PrependPDFStream = new System.IO.MemoryStream();
             * pdf2.HttpRequestHeaders = String.Format(
             *  "Cookie : {0}={1}\r\n", AuthName, AuthValue
             * );
             *
             * pdf.SavePdfFromUrlToStream(UrlToPDF, pdf2.PdfDocumentOptions.PrependPDFStream);*/

            Invoice invoiceToExport = Invoices.GetInvoice(InvoiceID);

            FileContentResult fcr = new FileContentResult(pdf.GetPdfFromUrlBytes(UrlToPDF), "application/PDF");

            fcr.FileDownloadName = (invoiceToExport.ClientName + "_" + invoiceToExport.InvoiceNumber).cleanFileName() + "_BillingDetail.pdf";
            return(fcr);
        }
예제 #8
0
        private void Test()
        {
            PdfConverter pdfConverter = new PdfConverter();

            // show header and footer in the rendered PDF
            pdfConverter.PdfDocumentOptions.ShowHeader = true;
            pdfConverter.PdfDocumentOptions.ShowFooter = true;
            // set the header height in points
            pdfConverter.PdfHeaderOptions.HeaderHeight = 60;
            // set the header HTML area
            pdfConverter.PdfHeaderOptions.HtmlToPdfArea = new HtmlToPdfArea("http://localhost:24533/HtmlPage.html");
            // set the footer height in points
            pdfConverter.PdfFooterOptions.FooterHeight = 50;
            //write the page number
            pdfConverter.PdfFooterOptions.TextArea = new TextArea(0, 30, "This is page &p; of &P;  ",
                                                                  new Font(new FontFamily("Times New Roman"), 10, GraphicsUnit.Point));
            pdfConverter.PdfFooterOptions.TextArea.TextAlign = HorizontalTextAlign.Right;
            // set the footer HTML area
            pdfConverter.PdfFooterOptions.HtmlToPdfArea = new HtmlToPdfArea("http://localhost:24533/HtmlPage.html");
            //pdfConverter.PdfFooterOptions.HtmlToPdfArea = new HtmlToPdfArea(http://www.google.com);
            string outFilePath = Path.Combine("D:\\", "AA.pdf");

            //pdfConverter.SavePdfFromUrlToFile("http://www.vipsoft.com.cn", outFilePath);

            byte[] downloadBytes = pdfConverter.GetPdfFromUrlBytes("http://www.vipsoft.com.cn");

            System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
            response.Clear();
            response.AddHeader("Content-Type", "binary/octet-stream");
            response.AddHeader("Content-Disposition",
                               "attachment; filename=" + "Test.pdf" + "; size=" + downloadBytes.Length.ToString());
            response.Flush();
            response.BinaryWrite(downloadBytes);
            response.Flush();
            response.End();
        }
예제 #9
0
 public void ConvertUrlToPdf(string url, string downloadName)
 {
     byte[] downloadBytes = pdfConverter.GetPdfFromUrlBytes(url);
     DownloadPDF(downloadBytes, downloadName);
 }
예제 #10
0
        private void Test()
        {
            PdfConverter pdfConverter = new PdfConverter();
            // show header and footer in the rendered PDF
            pdfConverter.PdfDocumentOptions.ShowHeader = true;
            pdfConverter.PdfDocumentOptions.ShowFooter = true;
            // set the header height in points
            pdfConverter.PdfHeaderOptions.HeaderHeight = 60;
            // set the header HTML area
            pdfConverter.PdfHeaderOptions.HtmlToPdfArea = new HtmlToPdfArea("http://localhost:24533/HtmlPage.html");
            // set the footer height in points
            pdfConverter.PdfFooterOptions.FooterHeight = 50;
            //write the page number
            pdfConverter.PdfFooterOptions.TextArea = new TextArea(0, 30, "This is page &p; of &P;  ",
                 new Font(new FontFamily("Times New Roman"), 10, GraphicsUnit.Point));
            pdfConverter.PdfFooterOptions.TextArea.TextAlign = HorizontalTextAlign.Right;
            // set the footer HTML area
            pdfConverter.PdfFooterOptions.HtmlToPdfArea = new HtmlToPdfArea("http://localhost:24533/HtmlPage.html");
            //pdfConverter.PdfFooterOptions.HtmlToPdfArea = new HtmlToPdfArea(http://www.google.com);
            string outFilePath = Path.Combine("D:\\", "AA.pdf");
            //pdfConverter.SavePdfFromUrlToFile("http://www.vipsoft.com.cn", outFilePath);

            byte[] downloadBytes = pdfConverter.GetPdfFromUrlBytes("http://www.vipsoft.com.cn");

            System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
            response.Clear();
            response.AddHeader("Content-Type", "binary/octet-stream");
            response.AddHeader("Content-Disposition",
                               "attachment; filename=" + "Test.pdf" + "; size=" + downloadBytes.Length.ToString());
            response.Flush();
            response.BinaryWrite(downloadBytes);
            response.Flush();
            response.End();
        }