public static string[] GetImageUrls(string applicationHost, int[] pageNumbers, GetImageUrlsParameters parameters)
 {
     return GetImageUrls(applicationHost, parameters.Path, parameters.FirstPage, pageNumbers.Length, parameters.Width,
         parameters.Quality, true/*parameters.UsePdf*/,
         parameters.WatermarkText, parameters.WatermarkColor,
         parameters.WatermarkPosition,
         parameters.WatermarkWidth,
         parameters.IgnoreDocumentAbsence,
         parameters.UseHtmlBasedEngine, parameters.SupportPageRotation,
         parameters.InstanceIdToken,
         null,
         pageNumbers);
 }
        public ActionResult ViewDocument(ViewDocumentParameters request)
        {
            string fileName = Path.GetFileName(request.Path);

            ViewDocumentResponse result = new ViewDocumentResponse
            {
                pageCss = new string[] { },
                lic = true,
                pdfDownloadUrl = GetPdfDownloadUrl(request),
                url = GetFileUrl(request),
                path = request.Path,
                name = fileName
            };

            DocumentInfoContainer docInfo = annotator.GetDocumentInfo(request.Path);
            result.documentDescription = new FileDataJsonSerializer(docInfo.Pages).Serialize(true);
            result.docType = docInfo.DocumentType.ToLower();
            result.fileType = docInfo.FileType.ToLower();

            string applicationHost = Request.Url.Scheme + "://" + Request.Url.Authority + Request.ApplicationPath.TrimEnd('/');

            var preloadCount = request.PreloadPagesCount;
            int pageCount = preloadCount ?? 1;
            int[] pageNumbers = new int[docInfo.Pages.Count];
            for (int i = 0; i < pageNumbers.Length; i++)
            {
                pageNumbers[i] = i;

            }

            GetImageUrlsParameters imageUrlParameters = new GetImageUrlsParameters()
            {
                Path = request.Path,
                FirstPage = 0,
                PageCount = pageNumbers.Length,
                UsePdf = docInfo.Extension.ToLower().Equals("pdf"),
                Width = docInfo.Pages[0].Width,
                SupportPageRotation = false,
                UseHtmlBasedEngine = false
            };

            result.imageUrls = GetImageUrls(applicationHost, pageNumbers, imageUrlParameters);

            //result.imageUrls = urls.ToArray();

            JavaScriptSerializer serializer = new JavaScriptSerializer { MaxJsonLength = int.MaxValue };

            string serializedData = serializer.Serialize(result);

            // invoke event
            new DocumentOpenSubscriber().HandleEvent(request.Path);

            return Content(serializedData, "application/json");
        }
 public ActionResult GetImageUrls(GetImageUrlsParameters parameters)
 {
     if (string.IsNullOrEmpty(parameters.Path))
     {
         return ToJsonResult(new GetImageUrlsResponse(new string[0]));
     }
     int pageCountPreload = GetDocumentPages(parameters.Path);
     int[] pageNumber = new int[pageCountPreload];
     for (int i = 0; i < pageNumber.Length; i++)
     {
         pageNumber[i] = i;
     }
     string baseUrl = Request.Url.Scheme + "://" + Request.Url.Authority + Request.ApplicationPath.TrimEnd('/');
     string[] array = GetImageUrls(baseUrl, pageNumber, parameters);
     return ToJsonResult(new GetImageUrlsResponse(array));
 }