Ejemplo n.º 1
0
        public static object GetDocumentPageHtml(GetDocumentPageHtmlParameters parameters)
        {
            if (Utils.IsValidUrl(parameters.Path))
            {
                parameters.Path = Utils.GetFilenameFromUrl(parameters.Path);
            }

            if (String.IsNullOrWhiteSpace(parameters.Path))
            {
                throw new ArgumentException("A document path must be specified", "path");
            }

            List <string> cssList;
            int           pageNumber = parameters.PageIndex + 1;

            var htmlOptions = new HtmlOptions
            {
                PageNumber          = parameters.PageIndex + 1,
                CountPagesToRender  = 1,
                IsResourcesEmbedded = false,
                HtmlResourcePrefix  = string.Format(
                    "/GetResourceForHtml.aspx?documentPath={0}", parameters.Path) +
                                      "&pageNumber={page-number}&resourceName=",
            };

            var htmlPages = GetHtmlPages(parameters.Path, parameters.Path, htmlOptions, out cssList);

            var pageHtml = htmlPages.Count > 0 ? htmlPages[0].HtmlContent : null;
            var pageCss  = cssList.Count > 0 ? new[] { string.Join(" ", cssList) } : null;

            var result = new { pageHtml, pageCss };

            return(result);
        }
 public ActionResult GetDocumentPageHtml(GetDocumentPageHtmlParameters parameters)
 {
     string pageHtml, pageCss;
     _coreHandler.GetDocumentPageHtml(this, parameters, out pageHtml, out pageCss);
     var data = new { pageHtml, pageCss };
     return CreateJsonOrJsonpResponse(data, null);
 }
Ejemplo n.º 3
0
        public ActionResult GetDocumentPageHtml(GetDocumentPageHtmlParameters parameters)
        {
            if (Utils.IsValidUrl(parameters.Path))
            {
                parameters.Path = Utils.GetFilenameFromUrl(parameters.Path);
            }
            if (string.IsNullOrWhiteSpace(parameters.Path))
            {
                throw new ArgumentException("A document path must be specified", "path");
            }

            string guid       = parameters.Path;
            int    pageNumber = parameters.PageIndex + 1;

            HtmlOptions htmlOptions = new HtmlOptions
            {
                PageNumber          = pageNumber,
                CountPagesToRender  = 1,
                IsResourcesEmbedded = false,
                HtmlResourcePrefix  = GetHtmlResourcePrefix(guid),
                CellsOptions        = { OnePagePerSheet = false }
            };

            HtmlPageContent pageContent = GetHtmlPageContents(guid, htmlOptions).Single();

            var result = new GetDocumentPageHtmlResult
            {
                pageHtml = pageContent.Html,
                pageCss  = pageContent.Css
            };

            return(ToJsonResult(result));
        }
        public ActionResult GetDocumentPageHtml(GetDocumentPageHtmlParameters parameters)
        {
            string pageHtml, pageCss;

            _coreHandler.GetDocumentPageHtml(this, parameters, out pageHtml, out pageCss);
            var data = new { pageHtml, pageCss };

            return(CreateJsonOrJsonpResponse(data, null));
        }
        public ActionResult GetDocumentPageHtml(GetDocumentPageHtmlParameters parameters)
        {
            try
            {
                if (Utils.IsValidUrl(parameters.Path))
                {
                    parameters.Path = Utils.GetFilenameFromUrl(parameters.Path);
                }

                if (String.IsNullOrWhiteSpace(parameters.Path))
                {
                    throw new ArgumentException("A document path must be specified", "path");
                }

                List <string> cssList;
                int           pageNumber = parameters.PageIndex + 1;

                var htmlOptions = new HtmlOptions
                {
                    PageNumber          = parameters.PageIndex + 1,
                    CountPagesToRender  = 1,
                    IsResourcesEmbedded = false,
                    HtmlResourcePrefix  = string.Format(
                        "/document-viewer/GetResourceForHtml?documentPath={0}", HttpUtility.UrlEncode(parameters.Path)) +
                                          "&pageNumber={page-number}&resourceName=",
                    Watermark = Utils.GetWatermark(parameters.WatermarkText, parameters.WatermarkColor,
                                                   parameters.WatermarkPosition, parameters.WatermarkWidth, parameters.WatermarkOpacity),
                };

                var htmlPages = GetHtmlPages(parameters.Path, htmlOptions, out cssList);

                var pageHtml = htmlPages.Count > 0 ? htmlPages[0].HtmlContent : null;
                var pageCss  = cssList.Count > 0 ? new[] { string.Join(" ", cssList) } : null;

                var result = new { pageHtml, pageCss };
                return(ToJsonResult(result));
            }
            catch (Exception e)
            {
                return(this.JsonOrJsonP(new FailedResponse {
                    Reason = e.Message
                }, null));
            }
        }
Ejemplo n.º 6
0
        public override void ProcessRequest(HttpContext context)
        {
            try
            {
                var serializer = new JavaScriptSerializer {
                    MaxJsonLength = CommonConstants.MaxJsonLength
                };

                string path;
                int    pageIndex;
                bool   usePngImages;
                bool   embedImagesIntoHtmlForWordFiles;
                string instanceId = null;
                string locale     = null;

                string json;
                bool   isJsonP = (context.Request.HttpMethod == "GET");

                if (isJsonP)
                {
                    json = context.Request.Params["data"];
                }
                else
                {
                    json = new StreamReader(context.Request.InputStream).ReadToEnd();
                }

                GetDocumentPageHtmlParameters parameters = serializer.Deserialize <GetDocumentPageHtmlParameters>(json);
                string pageHtml, pageCss;
                GetDocumentPageHtml(_urlsCreator, parameters, out pageHtml, out pageCss);
                var    data = new { pageHtml, pageCss };
                string serializedData = serializer.Serialize(data);
                CreateJsonOrJsonpResponse(context, serializedData);
            }
            catch (Exception exception)
            {
                OnException(exception, context);
            }
        }