예제 #1
0
        public MemoryStream GetPdfFromHtmlText(string HtmlText, int browserWidth)
        {
            MemoryStream dataStream;

            // create the HTML to PDF converter
            HtmlToPdf htmlToPdfConverter = new HtmlToPdf();

            htmlToPdfConverter.ForceResourcesDownload = true;
            htmlToPdfConverter.SerialNumber           = PDF_LICENSE;
            // set browser width
            htmlToPdfConverter.BrowserWidth = browserWidth;
            htmlToPdfConverter.TriggerMode  = ConversionTriggerMode.Auto;
            HtmlText.Replace("~/Api/Application/MainCSS/?InfotrakAppId=3", "");
            // set PDF page size and orientation
            htmlToPdfConverter.Document.PageSize        = HiQPdf.PdfPageSize.A4;
            htmlToPdfConverter.Document.PageOrientation = HiQPdf.PdfPageOrientation.Landscape;

            // set PDF page margins
            htmlToPdfConverter.Document.Margins = new PdfMargins(0);

            // Get the branded URL.
            string undercarriageUrl = "";
            string hostName         = HttpContext.Current.Request.Url.Host;
            var    brand            = new BLL.Core.Domain.Dealership(new DAL.UndercarriageContext()).getDealershipBrandingByHost(hostName, BLL.Core.Domain.InfotrakApplications.UCUI);

            if (brand == null)
            {
                undercarriageUrl = new AppConfigAccess().GetApplicationValue("UCUri");
            }
            else
            {
                undercarriageUrl = "http://" + brand.UCUIHost + "/";
            }

            // Set Header and Footer
            SetHeader(htmlToPdfConverter.Document, undercarriageUrl);
            SetFooter(htmlToPdfConverter.Document, undercarriageUrl);

            ////////////////
            // create the HTTP request

            // set a handler for PageCreatingEvent where to configure the PDF document pages
            htmlToPdfConverter.PageCreatingEvent +=
                new PdfPageCreatingDelegate(htmlToPdfConverter_PageCreatingEvent);

            try
            {
                // Re-order the pages to move the table of contents to the second page.
                // It was going in front of the cover page.
                byte[] pdfBytes = htmlToPdfConverter.ConvertHtmlToMemory(HtmlText, undercarriageUrl);
                dataStream = new MemoryStream(pdfBytes);
            }
            finally
            {
                // dettach from PageCreatingEvent event
                htmlToPdfConverter.PageCreatingEvent -=
                    new PdfPageCreatingDelegate(htmlToPdfConverter_PageCreatingEvent);
            }
            return(dataStream);
        }
예제 #2
0
        public string GetWebAppDomain()
        {
            var branding = new BLL.Core.Domain.Dealership(new DAL.UndercarriageContext()).getDealershipFirstBranding();

            if (branding == null)
            {
                return("");
            }
            return("http://" + branding.UCHost);
        }
예제 #3
0
        public string GetUpdatedApp()
        {
            var branding = new BLL.Core.Domain.Dealership(new DAL.UndercarriageContext()).getDealershipFirstBranding();

            if (branding == null)
            {
                return("");
            }
            var fileAddress = new BLL.Core.Domain.SharedDomain(new DAL.SharedContext()).getApkFileAddressFromMenu();

            return("http://" + branding.UCHost + "/" + fileAddress);
            //return "http://" + "192.168.1.116/TTdev" + "/" + fileAddress;
        }
예제 #4
0
        public MemoryStream GetPdfFromUrl(List <string[]> cookies, string url)
        {
            MemoryStream dataStream;

            // create the HTML to PDF converter
            HtmlToPdf htmlToPdfConverter = new HtmlToPdf();

            foreach (var cookie in cookies)
            {
                htmlToPdfConverter.HttpCookies.AddCookie(cookie[0], cookie[1]);
            }

            htmlToPdfConverter.ForceResourcesDownload = true;
            htmlToPdfConverter.SerialNumber           = PDF_LICENSE;
            // set browser width
            htmlToPdfConverter.BrowserWidth = 1200;
            htmlToPdfConverter.TriggerMode  = ConversionTriggerMode.Manual;
            // set PDF page size and orientation
            htmlToPdfConverter.Document.PageSize        = HiQPdf.PdfPageSize.A4;
            htmlToPdfConverter.Document.PageOrientation = HiQPdf.PdfPageOrientation.Portrait;

            // set PDF page margins
            htmlToPdfConverter.Document.Margins = new PdfMargins(0);

            // Get the branded URL.
            string undercarriageUrl = "";
            string hostName         = HttpContext.Current.Request.Url.Host;
            var    brand            = new BLL.Core.Domain.Dealership(new DAL.UndercarriageContext()).getDealershipBrandingByHost(hostName, BLL.Core.Domain.InfotrakApplications.UCUI);

            if (brand == null)
            {
                undercarriageUrl = new AppConfigAccess().GetApplicationValue("UCUri");
            }
            else
            {
                undercarriageUrl = "http://" + brand.UCUIHost + "/";
            }

            // Set Header and Footer
            SetHeader(htmlToPdfConverter.Document, undercarriageUrl);
            SetFooter(htmlToPdfConverter.Document, undercarriageUrl);

            ////////////////
            // create the HTTP request
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(undercarriageUrl + url);

            // Set credentials to use for this request
            request.Credentials     = CredentialCache.DefaultCredentials;
            request.CookieContainer = new CookieContainer();
            foreach (var cookie in cookies)
            {
                request.CookieContainer.Add(new Cookie(cookie[0], cookie[1], "/", domain: "vijaydealership.local"));
            }

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();

            long   contentLength = response.ContentLength;
            string contentType   = response.ContentType;

            // Get the stream associated with the response
            Stream receiveStream = response.GetResponseStream();

            // Pipes the stream to a higher level stream reader with the required encoding format
            StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);

            // get the HTML code of the web page
            string htmlCode = readStream.ReadToEnd();

            // close the response and response stream
            response.Close();
            readStream.Close();

            ///////////////

            // set a handler for PageCreatingEvent where to configure the PDF document pages
            htmlToPdfConverter.PageCreatingEvent +=
                new PdfPageCreatingDelegate(htmlToPdfConverter_PageCreatingEvent);

            try
            {
                // Re-order the pages to move the table of contents to the second page.
                // It was going in front of the cover page.
                htmlToPdfConverter.RunExtensions          = true;
                htmlToPdfConverter.ForceResourcesDownload = true;
                htmlToPdfConverter.RunJavaScript          = true;
                byte[] pdfBytes = htmlToPdfConverter.ConvertHtmlToMemory(htmlCode, undercarriageUrl);
                dataStream = new MemoryStream(pdfBytes);
            }
            finally
            {
                // dettach from PageCreatingEvent event
                htmlToPdfConverter.PageCreatingEvent -=
                    new PdfPageCreatingDelegate(htmlToPdfConverter_PageCreatingEvent);
            }
            return(dataStream);
        }