public static GetImageUrlsResponse GetImageUrls(GetImageUrlsParameters parameters) { if (string.IsNullOrEmpty(parameters.Path)) { var empty = new GetImageUrlsResponse { imageUrls = new string[0] }; return(empty); } DocumentInfoOptions documentInfoOptions = new DocumentInfoOptions(parameters.Path); DocumentInfoContainer documentInfoContainer = _imageHandler.GetDocumentInfo(documentInfoOptions); int[] pageNumbers = new int[documentInfoContainer.Pages.Count]; for (int i = 0; i < documentInfoContainer.Pages.Count; i++) { pageNumbers[i] = documentInfoContainer.Pages[i].Number; } var applicationHost = GetApplicationHost(); string[] imageUrls = ImageUrlHelper.GetImageUrls(applicationHost, pageNumbers, parameters); var result = new GetImageUrlsResponse { imageUrls = imageUrls }; return(result); }
public override void ProcessRequest(HttpContext context) { try { JavaScriptSerializer serializer = new JavaScriptSerializer(); string json; bool isJsonP = context.Request.HttpMethod == "GET"; if (isJsonP) { json = context.Request.Params["data"]; } else { json = new StreamReader(context.Request.InputStream).ReadToEnd(); } GetImageUrlsParameters parameters = serializer.Deserialize <GetImageUrlsParameters>(json); OperationStatusResponse data = GetImageUrls(_urlsCreator, parameters); string serializedData = serializer.Serialize(data); CreateJsonOrJsonpResponse(context, serializedData); } catch (Exception exception) { OnException(exception, context); } }
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)) { GetImageUrlsResponse empty = new GetImageUrlsResponse { imageUrls = new string[0] }; var serialized = new JavaScriptSerializer().Serialize(empty); return(Content(serialized, "application/json")); } var imageOptions = new ImageOptions(); var imagePages = _imageHandler.GetPages(parameters.Path, imageOptions); // Save images some where and provide urls var urls = new List <string>(); var tempFolderPath = Path.Combine(Server.MapPath("~"), "Content", "TempStorage"); foreach (var pageImage in imagePages) { var docFoldePath = Path.Combine(tempFolderPath, parameters.Path); if (!Directory.Exists(docFoldePath)) { Directory.CreateDirectory(docFoldePath); } var pageImageName = string.Format("{0}\\{1}.png", docFoldePath, pageImage.PageNumber); using (var stream = pageImage.Stream) using (FileStream fileStream = new FileStream(pageImageName, FileMode.Create)) { stream.Seek(0, SeekOrigin.Begin); stream.CopyTo(fileStream); } var baseUrl = Request.Url.Scheme + "://" + Request.Url.Authority + Request.ApplicationPath.TrimEnd('/') + "/"; urls.Add(string.Format("{0}Content/TempStorage/{1}/{2}.png", baseUrl, parameters.Path, pageImage.PageNumber)); } GetImageUrlsResponse result = new GetImageUrlsResponse { imageUrls = urls.ToArray() }; var serializedData = new JavaScriptSerializer().Serialize(result); return(Content(serializedData, "application/json")); }
public ActionResult GetImageUrls(GetImageUrlsParameters parameters) { var guid = parameters.Path; // Get document info var documentInfoContainer = _imageHandler.GetDocumentInfo(guid); var pageNumbers = documentInfoContainer.Pages.Select(_ => _.Number).ToArray(); var applicationHost = GetApplicationHost(); // Get image urls string[] imageUrls = ImageUrlHelper.GetImageUrls(applicationHost, pageNumbers, parameters); return(ToJsonResult(new GetImageUrlsResult(imageUrls))); }
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))); }
public static string[] GetImageUrls(string applicationHost, int[] pageNumbers, GetImageUrlsParameters parameters) { return(GetImageUrls(applicationHost, parameters.Path, parameters.FirstPage, pageNumbers.Length, parameters.Width, parameters.Quality, parameters.UsePdf, parameters.WatermarkText, parameters.WatermarkColor, parameters.WatermarkOpacity, parameters.WatermarkPosition, parameters.WatermarkWidth, parameters.IgnoreDocumentAbsence, parameters.UseHtmlBasedEngine, parameters.SupportPageRotation, parameters.InstanceIdToken, null, pageNumbers)); }
public static GetImageUrlsResponse GetImageUrls(GetImageUrlsParameters parameters) { var docPath = parameters.Path; if (string.IsNullOrEmpty(parameters.Path)) { var empty = new GetImageUrlsResponse { imageUrls = new string[0] }; return(empty); } DocumentInfoContainer documentInfoContainer = _imageHandler.GetDocumentInfo(parameters.Path); int[] pageNumbers = new int[documentInfoContainer.Pages.Count]; for (int i = 0; i < documentInfoContainer.Pages.Count; i++) { pageNumbers[i] = documentInfoContainer.Pages[i].Number; } var applicationHost = GetApplicationHost(); string[] imageUrls = ImageUrlHelper.GetImageUrls(applicationHost, pageNumbers, parameters); string[] attachmentUrls = new string[0]; foreach (AttachmentBase attachment in documentInfoContainer.Attachments) { List <PageImage> pages = _imageHandler.GetPages(attachment); var attachmentInfo = _imageHandler.GetDocumentInfo(_tempPath + "\\" + Path.GetFileNameWithoutExtension(docPath) + Path.GetExtension(docPath).Replace(".", "_") + "\\attachments\\" + attachment.Name); GetImageUrlsParameters attachmentResponse = parameters; attachmentResponse.Path = attachmentInfo.Guid; int[] attachmentPageNumbers = new int[pages.Count]; for (int i = 0; i < pages.Count; i++) { attachmentPageNumbers[i] = pages[i].PageNumber; } Array.Resize <string>(ref attachmentUrls, (attachmentUrls.Length + pages.Count)); string[] attachmentImagesUrls = new string[pages.Count]; attachmentImagesUrls = ImageUrlHelper.GetImageUrls(applicationHost, attachmentPageNumbers, attachmentResponse); attachmentImagesUrls.CopyTo(attachmentUrls, (attachmentUrls.Length - pages.Count)); } if (documentInfoContainer.Attachments.Count > 0) { var imagesUrls = new string[attachmentUrls.Length + imageUrls.Length]; imageUrls.CopyTo(imagesUrls, 0); attachmentUrls.CopyTo(imagesUrls, imageUrls.Length); var result = new GetImageUrlsResponse { imageUrls = imagesUrls }; return(result); } else { var result = new GetImageUrlsResponse { imageUrls = imageUrls }; return(result); } }
public ActionResult GetImageUrls(GetImageUrlsParameters parameters) { OperationStatusResponse data = _coreHandler.GetImageUrls(this, parameters); return CreateJsonOrJsonpResponse(data, parameters.Callback); }
public HttpResponseMessage GetImageUrls(GetImageUrlsParameters parameters) { OperationStatusResponse data = _coreHandler.GetImageUrls(this, parameters); return(CreateJsonOrJsonpResponse(data, parameters.Callback)); }