Skip to content
This repository was archived by the owner on Dec 30, 2022. It is now read-only.
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -172,13 +172,18 @@ public Object loadDocumentDescription(@Context HttpServletRequest request, @Cont
// get/set parameters
String documentGuid = getJsonString(requestBody, "guid");
boolean htmlMode = getJsonBoolean(requestBody, "htmlMode");
String password = getJsonString(requestBody, "password");
// check if documentGuid contains path or only file name
if(!Paths.get(documentGuid).isAbsolute()){
documentGuid = quickViewConfig.getApplication().getFilesDirectory() + "/" + documentGuid;
}
DocumentInfoContainer documentInfoContainer = new DocumentInfoContainer();
// get document info options
DocumentInfoOptions documentInfoOptions = new DocumentInfoOptions(documentGuid);
// set password for protected document
if(!password.isEmpty()) {
documentInfoOptions.setPassword(password);
}
// get document info container
if(htmlMode) {
documentInfoContainer = viewerHtmlHandler.getDocumentInfo(documentGuid, documentInfoOptions);
Expand Down Expand Up @@ -213,6 +218,7 @@ public Object loadDocumentPage(@Context HttpServletRequest request, @Context Htt
String documentGuid = getJsonString(requestBody, "guid");
int pageNumber = getJsonInteger(requestBody, "page");
boolean htmlMode = getJsonBoolean(requestBody, "htmlMode");
String password = getJsonString(requestBody, "password");
LoadedPageWrapper loadedPage = new LoadedPageWrapper();
String angle = "0";
// set options
Expand All @@ -221,6 +227,10 @@ public Object loadDocumentPage(@Context HttpServletRequest request, @Context Htt
htmlOptions.setPageNumber(pageNumber);
htmlOptions.setCountPagesToRender(1);
htmlOptions.setResourcesEmbedded(true);
// set password for protected document
if(!password.isEmpty()) {
htmlOptions.setPassword(password);
}
// get page HTML
loadedPage.setPageHtml(viewerHtmlHandler.getPages(documentGuid, htmlOptions).get(0).getHtmlContent());
// get page rotation angle
Expand All @@ -229,6 +239,10 @@ public Object loadDocumentPage(@Context HttpServletRequest request, @Context Htt
ImageOptions imageOptions = new ImageOptions();
imageOptions.setPageNumber(pageNumber);
imageOptions.setCountPagesToRender(1);
// set password for protected document
if(!password.isEmpty()) {
imageOptions.setPassword(password);
}
// get page image
byte[] bytes = IOUtils.toByteArray(viewerImageHandler.getPages(documentGuid, imageOptions).get(0).getStream());
// encode ByteArray into String
Expand Down Expand Up @@ -269,6 +283,7 @@ public Object rotateDocumentPages(@Context HttpServletRequest request, @Context
int angle = Integer.parseInt(getJsonString(requestBody, "angle"));
JSONArray pages = new JSONObject(requestBody).getJSONArray("pages");
boolean htmlMode = getJsonBoolean(requestBody, "htmlMode");
String password = getJsonString(requestBody, "password");
// a list of the rotated pages info
ArrayList<RotatedPageWrapper> rotatedPages = new ArrayList<RotatedPageWrapper>();
// rotate pages
Expand All @@ -279,6 +294,10 @@ public Object rotateDocumentPages(@Context HttpServletRequest request, @Context
RotatePageOptions rotateOptions = new RotatePageOptions(pageNumber, angle);
// perform page rotation
String resultAngle = "0";
// set password for protected document
if(!password.isEmpty()) {
rotateOptions.setPassword(password);
}
if(htmlMode) {
viewerHtmlHandler.rotatePage(documentGuid, rotateOptions);
resultAngle = String.valueOf(viewerHtmlHandler.getDocumentInfo(documentGuid).getPages().get(pageNumber - 1).getAngle());
Expand Down