1. Introduction
 
This document shows the progress in the investigation for generate or obtain a Doc Editor & Viewer. There were 3 APIs in the tests (until now).
 
  1. APIs
 
 
  1. Aspose
 
First I used some of Aspose Java APIs looking to find a Doc Editor & Viewer, however, the API only had back end services. Even I contacted the people in sales department:
 
 
 
In their blog I found that they only have back end services for Aspose, but they have GUIs in another enterprise that in their group, so I started working in parallel in the GroupDocs company products an POI (POI would be free).
 
 
With Aspose taking the services the proposed design and the groupdocs examples we can build a custom backend and custom frontend:
 
 
 
 
Aspose generates HTML files as some other formats:
 
 
 
 
 
 
 
 
 
 
 
 

 

The conversion can be done with any of the formats and we can send images (PNG or JPG) or PDFs even convert into HTML and send the content in a String (The images can be sent as File objects in a list with the same name that the conversion generates).
 
 
 
 
 
 
 
 
 
 
 
 
 
  1. POI
 
I found some examples in the internet and start designing a solution for the applications, POI is an Apache library and they have Java Objects that can manipulate the content of Microsoft Word, content of Microsoft Excel etc.
 
With Java Code I managed to Extract the content from a Doc:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Then I defined a group of concept/context diagrams for the solution:
 
 
From this first sketch I derived a couple more detailed:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
The next one shows with more detail how the solution could be done (GroupsDocs solution is similar but with HTML):
 
 
The time is a factor, so the construction of new components is not an option, this solution was abandoned and GroupDocs was reviewed in parallel.
 
  1. GroupDocs
 
groupdocs.com is the second website launched by Aspose Pty Ltd following on from the success of Aspose. the market leader of file format APIs for .NET, Java and other platforms. The website first went live in 2012.
 
groupdocs.com started with online document manipulation apps before shifting focus to .NET and Java APIs. In 2013 GroupDocs Viewer for .NET was released to allow developers to include high fidelity document viewing within their .NET applications, built using Aspose technology, GroupDocs Viewer for .NET copes with a multitude of file formats and configuration options. A steady stream of other .NET and Java APIs followed soon after, with more added every year.
 
https://about.groupdocs.com/
 
I reviewed a couple of projects/products even had a lot of contact with the people of the sales area and the Dev owner or responsible from the Java Viewer code.
 
The projects are:
 
 
Both projects use Java (1.8 is recommended I worked even with java 11 and they worked fine, using the maven condition of downgrade 11 to 1.8) in the back end and Angular in the front end.
 
We had a lot of troubles in the beginning but chatting int the blog we manage to solve all the issues, my thread in the blog is:
https://forum.groupdocs.com/t/group-viewer-html-dropwizard-java-not-loading/9960/21
 
I managed to generate a temporary license, the type was Total, the producs stopped sending me errors with the addition of the license.
 
https://purchase.groupdocs.com/temporary-license
 
 
 
Within each Java project there is a couple of folders that the app needs to work:
 
 
 
In Licenses we allocate the file generated for groupdocs:
 
 
 
Even with that configuration the app was failing, so in the blog, chatting with Vladimir he found a problem with the Locale object, it has to be forced to be USA. I did the modifications in the Plain Java projects (They have a Spring managed folder for each project) finally both projects were able to render the files and in the case of the editor, modify the Word file.
 
Viewer:
 
 
 
 

 

 

 

Editor:

 

The editor made some changes in the format of some lines, but the test was small, only one String in one field.

 

Both projects can be containerized, they have their own Dockerfile, the files have some errors but I corrected them and manage to generate both images and run each projects:

 

 

 

 

 

 

 

 

 

 

In both cases (In Docker) they showed more images of their other company Aspose, I think because of the time of the temporary License:

 

Viewer:

 

 

Editor:

 

 

I asked information, in the blog, of the licenses and how can we modify the projects, and Vladimir responded:

 

 

 

 

 

 

We can see more detail in the functionality/usability of each product in the next videos:

 

 

The pricing URL is the next one:

 

https://purchase.groupdocs.com/pricing

 

 

  1. Group Docs Editor Versioning

 

When trying with the same file (upload) the Editor didn’t generate another file (Maybe changing name with a number), it keeps the file and doesn’t send any message.

 

 

 

 

 

 

 

 

 

 

When downloading the file The Operating System does put a sequence number:

 

 

 

 

 

 

 

 

 

 

It can be modified in the configuration yml if necessary:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Compare Documents

 

GroupDocs.Comparison for Cloud is a REST API that enables Java applications to compare two ‎same format documents to find differences between them make a resultant file and allow the application to ‎accept or reject the retrieved changes.

 

The comparison SDK for Java allows easy integration in existing applications, the supported formats are:

 

 

 

 

 

 

 

 

 

GroupDocs.Comparison Cloud is a REST API that provides an ability to detect differences between source and target files for changes at paragraphs, words and characters levels. Can identify styling and formatting changes - like bold, italic, underlines, strike-troughs, font types, etc. Every particular difference between compared document can be applied or rejected and the exported to a final document. GroupDocs.Comparison Cloud allows to obtain basic information about source document - file type, size, pages count etc. Once comparison process is complete, we can save a differences summary report which lists all changes found between compared documents.

 

API Endpoints:

 

 

 

 

The next URL contains a detailed list of the supported formats:

https://docs.groupdocs.cloud/comparison/supported-document-formats/

 

We need to create an account (free) to use the service (I created one to use the Editor and the viewer). We can create the account in the next URL:

 

https://id.containerize.com/login?signin=e445081def9ea97aeebd74953fed9e2f

 

The next code example shows how to get all the supported formats in Java (it is in the URL https://docs.groupdocs.cloud/comparison/quick-start/ ).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

They Have a Gihub Repository that has a complete set of examples of the API capabilities. The URL is (Java):

https://github.com/groupdocs-comparison-cloud/groupdocs-comparison-cloud-java

 

Even they have for PHP: https://github.com/groupdocs-comparison-cloud/groupdocs-comparison-cloud-php

 

Youtube https://www.youtube.com/watch?v=82RuvtV2qpw

 

 

 

  1. Next Steps
 
Now we should allocate the projects into their medtrainer repositories and do more tests.