How to manage input handler using Viewer API in Java

Hi,


I have signed up for a trial version here and downloaded the zip for total products family. I have received just an agreement license in java’s folder. I am looking for a viewer which I can use with JAVA which includes total solution like watermark, annotation, signature, compare and more.

Also, there is just a jar in GroupDocs.viewer for java. I wanted to know if I can get access to any javascript related to viewer HTML in case I need to customize it for access control.


It would be great if I can setup a call with any technical person regarding group docs total solution for JAVA.

Please let me know as soon as you can.

@jeet.bavishi,


Thanks for taking interest in GroupDocs APIs and posting your concerns.
I have signed up for a trial version here and downloaded the zip for total products family. I have received just an agreement license in java’s folder
Sorry to hear this. Concerned team has resolved the issue. Please download GroupDocs.Total for Java again.
We’d like to apprise you that Next Generation GroupDocs APIs (for Java) are totally UI-Agnostic, framework and platform independent. Hence, you can integrate these APIs in any of your Java project regardless of any dependency despair. For instance, you can integrate GroupDocs.Viewer for Java and GroupDocs.Comparison for Java APIs (preferably latest versions) in a project in order to avail features of both APIs.
We have number of helpful resources for your convenience, exploring them you can learn importance and features of each single API.
GroupDocs.Viewer for Java
GroupDocs.Comparison for Java
GroupDocs.Annotation for Java
GroupDocs.Signature for Java
GroupDocs.Conversion for Java
GroupDocs.Assembly for Java
Also, there is just a jar in GroupDocs.viewer for java. I wanted to know if I can get access to any javascript related to viewer HTML in case I need to customize it for access control.
We have fully functional showcase projects to demonstrate GroupDocs.Viewer for Java API features. We’d recommend you to clone/download our latest showcase projects (GroupDocs.Viewer for Java UI samples), explore it and share your experience. Moreover, these showcase project are open-source. Hence, you can make changes in them as per your needs.
We hope you will get a lot of information from these resources. If you have any further queries, please let us know.

Best wishes

Hi Atir,


Thanks for the quick response. I have started the evolution of GroupDocs Total in JAVA. For that I am considering your cloud App accessible with URL “apps.groupdocs.com”. So I wanted to ask following questions for that:

1) Whatever features are there in the cloud App, I can implement all in my system using GroupDocs Total JAVA solution. Is this correct?

2) I am looking for the audit logs at print and page level. Does Group Docs provide such kind of facility to register audit logs at page level and also print.

3) I have noticed that from the viewer, I can not copy any kind of texts and it is very essential for us to do so. So is there any way that I can copy the text from the viewer? And also I would like to control the copy text functionality via access control for any particular user. Can it be done?

4) In the cloud app that I used for my investigation, I was not able to open the .xls file properly. It was not rendered correctly. However, it was rendered correctly when I downloaded it and opened with one of my native application. Is this a bug?If so, Can it be fixed?PFA the excel file that I used for this.

5) What are the provisions given in GroupDocs Total solution for JAVA, to implement DRM(document rights management)? As I am looking for something which will enable me to do so easily.
6) Since I am under trial period, I am not able to check big files and how Group Docs might render it. So is there any way we can make sure that Group Docs will render files of big size with the same ease as it does with normal files?

7) Is there any way in Group Docs Total with which I can open my document in the native viewer?

8) Does GroupDocs officially provide any HTML or CSS to construct the HTML viewer or I have to do it from my side? If that is the case, Will I be able to construct the same UI of cloud app using JAVA classes and sample css and javascript provided me in the showcases? Or do I need any external dependencies?

9) Does GroupDocs provide any support to open email attachments directly in the viewer?

10) When I exported the annotated file in my system, redaction that I did with it was not downloaded. Hence the redacted part of the file was visible. Can you please comment on this?

Please let me know answers to this as quickly as you can. So I can complete my evaluation before trial ends.

Thanks & Regards
Jeet Bavishi

@jeet.bavishi,


As we briefed earlier that Next Generation GroupDocs APIs are totally back-end and UI independent. Hence, APIs come with single JAR files (in case of GroupDocs.Total for Java you can find all the JAR files for corresponding APIs in the zip).
1) Whatever features are there in the cloud App, I can implement all in my system using GroupDocs Total JAVA solution. Is this correct?
You can find list of features offered by each API in their corresponding documentations/wikis. We already shared documentation link(s) for each API in previous reply. Hence, you can avail/implement all those features (view/compare/annotate/sign etc) in your front end.
2) I am looking for the audit logs at print and page level. Does Group Docs provide such kind of facility to register audit logs at page level and also print.
Can you please elaborate this in more details?
3) I have noticed that from the viewer, I can not copy any kind of texts and it is very essential for us to do so. So is there any way that I can copy the text from the viewer? And also I would like to control the copy text functionality via access control for any particular user. Can it be done?
Next Generation GroupDocs APIs are control and manageable by the developers. You can allow or disallow text copying from the project/rendered pages in the browser. You can also devise a business logic to implement user-management.
4) In the cloud app that I used for my investigation, I was not able to open the .xls file properly. It was not rendered correctly. However, it was rendered correctly when I downloaded it and opened with one of my native application. Is this a bug?If so, Can it be fixed?PFA the excel file that I used for this.
Thanks for sharing the problematic file. We are able to render it in our showcase projects successfully. Please find the screenshots attached.
5) What are the provisions given in GroupDocs Total solution for JAVA, to implement DRM(document rights management)? As I am looking for something which will enable me to do so easily.
Again, this depends on your business logic. You can implement secure documents rendering in the browser.
6) Since I am under trial period, I am not able to check big files and how Group Docs might render it. So is there any way we can make sure that Group Docs will render files of big size with the same ease as it does with normal files?
Yes, please give a try to our modern UI showcase project.
7) Is there any way in Group Docs Total with which I can open my document in the native viewer?
Can you please elaborate this in more details?
8) Does GroupDocs officially provide any HTML or CSS to construct the HTML viewer or I have to do it from my side? If that is the case, Will I be able to construct the same UI of cloud app using JAVA classes and sample css and javascript provided me in the showcases? Or do I need any external dependencies?
Depends on your projects excitability, you can add external dependencies as well. However, our showcase projects are open source, you can utilize them to any extent or utilize resources/files (JS etc) from them.
9) Does GroupDocs provide any support to open email attachments directly in the viewer?
Yes, please go through this release and this blog post.
10) When I exported the annotated file in my system, redaction that I did with it was not downloaded. Hence the redacted part of the file was visible. Can you please comment on this?
If you integrate Next Generation GroupDocs.Annotation for Java in your project, you can add annotations and write code to download the annotated document. Please get a basic demonstration using our servlets showcase project for document annotation API.

Hope it will help. If you have any further queries, please feel free to post.
Best regards

Thanks for your response,

For 2nd Question:

Print level audit: Does your system allow any kind of post print action or event?

Page level audit: Does your system allow to fetch User is on which page and for howmuch time?

For 7th Question:

Does your system allow to open document in native viewer? That means theren should be an option of "Open in word" which opens document in word and then can perform edit and save altomatically to provided URL.

For 10th Question:

I tried the same thing with the cloud app. I downloaded the annotated and redacted document. However, the annotated changes were there in the downloaded but redaction were missing. Is this a open bug?

@jeet.bavishi,


Print level audit: Does your system allow any kind of post print action or event?
Yes, you can print document from viewer front end. Please go through this article. Hence, print feature is implementable.
Page level audit: Does your system allow to fetch User is on which page and for howmuch time?
Again, this feature can be implemented depending on your business logic in your front end project. API won’t discourage any such features.
Does your system allow to open document in native viewer? That means theren should be an option of “Open in word” which opens document in word and then can perform edit and save altomatically to provided URL.
Yes, native document rendering is supported by Next Generation GroupDocs.Viewer for Java API in a case that is, stream returned by getFile() method must be included/written in the header of response:
<span class=“pl-smi” style=“color: rgb(36, 41, 46); font-family: SFMono-Regular, Consolas, “Liberation Mono”, Menlo, Courier, monospace; font-size: 12px; white-space: pre; background-color: rgb(255, 255, 255);”>Utils<span class=“pl-k” style=“color: rgb(215, 58, 73); font-family: SFMono-Regular, Consolas, “Liberation Mono”, Menlo, Courier, monospace; font-size: 12px; white-space: pre; background-color: rgb(255, 255, 255);”>.<span style=“color: rgb(36, 41, 46); font-family: SFMono-Regular, Consolas, “Liberation Mono”, Menlo, Courier, monospace; font-size: 12px; white-space: pre; background-color: rgb(255, 255, 255);”>writeToResponse(original, response);
After the client application receives this response, it depends on the browser either it supports to display that file format or not. In case the browser does not support the format, file will be downloaded automatically. Please explore the showcase projects in order to experience this feature and go through documentation of modern UI, more specifically this topic.
option of “Open in word” which opens document in word and then can perform edit and save altomatically to provided URL.
However, this is not supported by the API.
I tried the same thing with the cloud app. I downloaded the annotated and redacted document. However, the annotated changes were there in the downloaded but redaction were missing. Is this a open bug?
Do you mean, you evaluated this scenario using Next Generation GroupDocs.Annotation for Java API as well (in GroupDocs.Annotation for Java showcase project)? As far as issue in cloud app is concerned, we created a new thread here. Please follow that to get more updates on cloud app issue.

Best wishes

Hi Atir,


Thanks for your feedbacks and responses. Much appreciated. I would like to know more about caching mechanisms in GroupDocs:

1) What kind of caching mechanism do you guys use?

2) What kind of information is cached?

3) Is it the server-side caching or client side caching?

4) Are they on/off by default? How can I toggle them programmatically?

Please let me know.

@jeet.bavishi,


We are glad to help you out.
Caching system is same across different GroupDocs APIs. Let’s consider GroupDocs.Viewer for Java 3.x in this scenario. Please note that Viewer doesn’t use any kind of caching mechanism. In fact it reads/writes files through IInputDataHandler, ICacheDataHandler and IFileDataStore. The default implementation uses local disk as storage for files and storage for cache files.
  • IInputDataHandler is responsible for reading files from storage.
  • What kind of information is cached? ICacheDataHandler is responsible for reading/writing cache files. Cache files includes document pages as image or HTML, HTML resources (styles, images and fonts), document attachments, document as PDF.
  • IFileDataStore is responsible for reading/writing document information.
Is it the server-side caching or client side caching?
It’s server-sided caching.
Are they on/off by default? How can I toggle them programmatically?
You can toggle cache programmatically. Please see Viewer configuration. Cache can be enabled or disabled using following code:
config.setUseCache(false);

Multiple constructor overloads are provided in ViewerHtmlHandler and ViewerImageHandler where user can pass his own implementation of Handlers which allows adding any kind of caching.
Please check this documentation articles for more information:
Please let us know if you have any other question.

Warm wishes