private void ViewDocumentAsHtml(ViewDocumentParameters request, ViewDocumentResponse result) { var guid = request.Path; var fileName = Path.GetFileName(request.Path); // Get document info var documentInfo = _htmlHandler.GetDocumentInfo(guid); // Serialize document info SerializationOptions serializationOptions = new SerializationOptions { UsePdf = false, IsHtmlMode = true, SupportListOfBookmarks = request.SupportListOfBookmarks, SupportListOfContentControls = request.SupportListOfContentControls }; var documentInfoJson = new DocumentInfoJsonSerializer(documentInfo, serializationOptions).Serialize(); // Build html options var htmlOptions = new HtmlOptions { IsResourcesEmbedded = Utils.IsImage(fileName), HtmlResourcePrefix = GetHtmlResourcePrefix(guid), PageNumber = 1, CountPagesToConvert = request.PreloadPagesCount.GetValueOrDefault(1) }; var htmlPageContents = GetHtmlPageContents(guid, htmlOptions); // Build result result.pageHtml = htmlPageContents .Select(_ => _.Html) .ToArray(); result.pageCss = htmlPageContents .Where(_ => !string.IsNullOrEmpty(_.Css)) .Select(_ => _.Css) .ToArray(); result.documentDescription = documentInfoJson; result.docType = documentInfo.DocumentType; result.fileType = GetFileTypeOrEmptyString(documentInfo.FileType); }
private void ViewDocumentAsImage(ViewDocumentParameters request, ViewDocumentResponse result) { var guid = request.Path; // Get document info var documentInfo = _imageHandler.GetDocumentInfo(guid); // Serialize document info SerializationOptions serializationOptions = new SerializationOptions { UsePdf = request.UsePdf, SupportListOfBookmarks = request.SupportListOfBookmarks, SupportListOfContentControls = request.SupportListOfContentControls }; var documentInfoJson = new DocumentInfoJsonSerializer(documentInfo, serializationOptions) .Serialize(); // Build result result.documentDescription = documentInfoJson; result.docType = documentInfo.DocumentType; result.fileType = documentInfo.FileType; int[] pageNumbers = documentInfo.Pages.Select(_ => _.Number).ToArray(); result.imageUrls = ImageUrlHelper.GetImageUrls(GetApplicationHost(), pageNumbers, request); }
public ActionResult ViewDocument(ViewDocumentParameters request) { if (Utils.IsValidUrl(request.Path)) request.Path = DownloadToStorage(request.Path); var result = new ViewDocumentResponse { pageCss = new string[] { }, lic = true, pdfDownloadUrl = GetPdfDownloadUrl(request), pdfPrintUrl = GetPdfPrintUrl(request), url = GetFileUrl(request), path = request.Path, name = Path.GetFileName(request.Path) }; if (request.UseHtmlBasedEngine) ViewDocumentAsHtml(request, result); else ViewDocumentAsImage(request, result); return new LargeJsonResult { Data = result }; }