private string GetFileUrl(ViewDocumentParameters request) { return GetFileUrl(request.Path, false, false, request.FileDisplayName); }
private string GetPdfDownloadUrl(ViewDocumentParameters request) { return GetFileUrl(request.Path, true, false, request.FileDisplayName, request.IgnoreDocumentAbsence, request.UseHtmlBasedEngine); }
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"); }