README.md
# GroupDocs.Total for Java Spring Example
###### version 0.4.73
[![Build Status](https://travis-ci.org/groupdocs-total/GroupDocs.Total-for-Java-Spring.svg?branch=master)](https://travis-ci.org/groupdocs-total/GroupDocs.Total-for-Java-Spring)
[![Maintainability](https://api.codeclimate.com/v1/badges/6a67135407f3b0dab72a/maintainability)](https://codeclimate.com/github/groupdocs-total/GroupDocs.Total-for-Java-Spring/maintainability)
[![GitHub license](https://img.shields.io/github/license/groupdocs-total/GroupDocs.Total-for-Java-Spring.svg)](https://github.com/groupdocs-total/GroupDocs.Total-for-Java-Spring/blob/master/LICENSE)
:warning: **This repository has moved to https://github.com/groupdocs-total/GroupDocs.Total-for-Java/tree/main/Demos/Spring**
## System Requirements
- Java 8 (JDK 1.8)
- Maven 3
## All-in-one document automation API
**GroupDocs.Total for Java API** is a suite of powerful, flexible and high-performance libraries which allows you to manipulate documents within your desktop solutions and web apps without requiring any other commercial application. GroupDocs.Total allows you to perform all kinds of operations (view, edit, annotate, sign, compare, convert, merge, search, parse, redact, etc) with **PDF, DOCX, PPT, XLS**, and over 90 other document formats.
This web application demonstrates the following document manipulation capabilities:
- Document viewer
- Annotate & write on documents
- Digitally sign documents
- Compare documents
- Edit documents
- Convert documents
**Note:** without a license application will run in trial mode, purchase [GroupDocs.Total for Java license](https://purchase.groupdocs.com/order-online-step-1-of-8.aspx) or request [GroupDocs.Total for Java temporary license](https://purchase.groupdocs.com/temporary-license).
## Supported document Formats
| Family | Formats |
| --------------------------- |:---------------------------------------------------------------------------------------------------------------------------------- |
| Portable Document Format | `PDF` |
| Microsoft Word | `DOC`, `DOCM` , `DOCX`, `DOT`, `DOTM`, `DOTX` |
| Microsoft Excel | `XLS`, `XLSB`, `XLSM`, `XLSX`, `XLT`, `XLTM`, `XLTX` |
| Microsoft PowerPoint | `PPT`, `POT`, `POTM`, `POTX`, `PPS`, `PPSM`, `PPSX`, `PPTM`, `PPTX` |
| Microsoft Visio | `VSD`, `VDW`, `VDX`, `VSDX`, `VSS`, `VST`, `VSX`, `VTX` |
| Microsoft Project | `MPP`, `MPT` |
| Microsoft Outlook | `EML`, `EMLX`, `MSG` |
| OpenDocument Formats | `ODT`, `ODP`, `ODS`, `OTT` |
| Plain Text File | `TXT` |
| Comma-Separated Values | `CSV` |
| HyperText Markup Language | `HTML`, `MHT`, `MHTML`, `SVG` |
| Extensible Markup Language | `XML`,`XML`, `XPS` |
| AutoCAD Drawing File Format | `DGN`, `DWG`, `DXF` |
| Image files | `BMP`, `CAL`, `DCX`, `DIB`, `EMF`, `GIF`, `JP2`, `JPG`, `MIL`, `MIL`, `PCD`, `PCT`, `PCX`, `PNG`, `PSD`, `RAS`, `TGA`,`TIFF`,`WMF` |
| Electronic publication | `EPUB` |
| Windows Icon | `ICO` |
| Medical image files | `DCM` |
## Demo Video
Coming soon
## Features
#### [View documents](https://github.com/groupdocs-viewer/GroupDocs.Viewer-for-Java-Spring) with GroupDocs.Viewer
- Clean, modern and intuitive design
- Easily switchable colour theme (create your own colour theme in 5 minutes)
- Responsive design
- Mobile support (open application on any mobile device)
- Support over 50 documents and image formats
- HTML and image modes
- Fully customizable navigation panel
- Open password protected documents
- Text searching & highlighting
- Download documents
- Upload documents
- Print document
- Rotate pages
- Zoom in/out documents without quality loss in HTML mode
- Thumbnails
- Smooth page navigation
- Smooth document scrolling
- Preload pages for faster document rendering
- Multi-language support for displaying errors
- Display two or more pages side by side (when zooming out)
- Cross-browser support (Safari, Chrome, Opera, Firefox)
- Cross-platform support (Windows, Linux, MacOS)
#### [Digitally sign documents](https://github.com/groupdocs-signature/GroupDocs.Signature-for-Java-Spring) with GroupDocs.Signature
- Clean, modern and intuitive design
- Easily switchable colour theme (create your own colour theme in 5 minutes)
- Responsive design
- Mobile support (open application on any mobile device)
- Support over 50 documents and image formats
- Image mode
- Fully customizable navigation panel
- Sign password protected documents
- Download original documents
- Download signed documents
- Upload documents
- Upload signatures
- Sign document with such signature types: digital certificate, image, stamp, qrCode, barCode.
- Draw signature image
- Draw stamp signature
- Generate bar code signature
- Generate qr code signature
- Print document
- Smooth page navigation
- Smooth document scrolling
- Preload pages for faster document rendering
- Multi-language support for displaying errors
- Cross-browser support (Safari, Chrome, Opera, Firefox)
- Cross-platform support (Windows, Linux, MacOS)
#### [Annotate & write on documents](https://github.com/groupdocs-annotation/GroupDocs.Annotation-for-Java-Spring) with GroupDocs.Annotation
- Clean, modern and intuitive design
- Easily switchable colour theme (create your own colour theme in 5 minutes)
- Responsive design
- Mobile support (open application on any mobile device)
- Support over 50 documents and image formats
- Image mode
- Fully customizable navigation panel
- Annotate password protected documents
- Download original documents
- Download annotated documents
- Upload documents
- Annotate document with such annotation types:
* Text
* Area
* Point
* TextStrikeout
* Polyline
* TextField
* Watermark
* TextReplacement
* Arrow
* TextRedaction
* ResourcesRedaction
* TextUnderline
* Distance
- Draw annotation over the document page
- Add comment or reply
- Print document
- Smooth page navigation
- Smooth document scrolling
- Preload pages for faster document rendering
- Multi-language support for displaying errors
- Cross-browser support (Safari, Chrome, Opera, Firefox)
- Cross-platform support (Windows, Linux, MacOS)
#### [Compare documents](https://github.com/groupdocs-comparison/GroupDocs.comparison-for-Java-Spring) with GroupDocs.Comparison
- Clean, modern and intuitive design
- Easily switchable colour theme (create your own colour theme in 5 minutes)
- Responsive design
- Mobile support (open application on any mobile device)
- HTML and image modes
- Fully customizable navigation panel
- Compare documents
- Multi-compare several documents
- Compare password protected documents
- Upload documents
- Display clearly visible differences
- Download comparison results
- Print comparison results
- Smooth document scrolling
- Preload pages for faster document rendering
- Multi-language support for displaying errors
- Cross-browser support (Safari, Chrome, Opera, Firefox)
- Cross-platform support (Windows, Linux, MacOS)
#### [Document converter](https://github.com/groupdocs-conversion/GroupDocs.Conversion-for-Java-Spring) with GroupDocs.Conversion
- Clean, modern and intuitive design
- Easily switchable colour theme (create your own colour theme in 5 minutes)
- Responsive design
- Convert individual documents
- Batch convert multiple documents
- Mobile support (open application on any mobile device)
- HTML and image modes
- Drag and drop support
- Upload documents
- Cross-browser support (Safari, Chrome, Opera, Firefox)
- Cross-platform support (Windows, Linux, MacOS)
#### [Document editor](https://github.com/groupdocs-conversion/GroupDocs.Editor-for-Java-Spring) with GroupDocs.Editor
- Responsive design
- Cross-browser support (Safari, Chrome, Opera, Firefox)
- Cross-platform support (Windows, Linux, MacOS)
- Clean, modern and intuitive design
- Edit, format documents
- Mobile support (open application on any mobile device)
- Support over 50 documents and image formats including **DOCX**, **ODT**, **XLS**
- Fully customizable navigation panel
- Open password protected documents
- Download documents
- Upload documents
- Print document
## How to run
You can run this sample by one of following methods
#### Build from source
Download [source code](https://github.com/groupdocs-total/GroupDocs.Total-for-Java-Spring/archive/master.zip) from github or clone this repository.
```bash
git clone https://github.com/groupdocs-total/GroupDocs.Total-for-Java-Spring
cd GroupDocs.Total-for-Java-Spring
mvn clean spring-boot:run
## Open http://localhost:8080/ in your favorite browser.
```
#### Build war from source
Download [source code](https://github.com/groupdocs-total/GroupDocs.Total-for-Java-Spring/archive/master.zip) from github or clone this repository.
```bash
git clone https://github.com/groupdocs-total/GroupDocs.Total-for-Java-Spring
cd GroupDocs.Total-for-Java-Spring
mvn package -P war
## Deploy this war on any server
```
#### Binary release (with all dependencies)
Download [latest release](https://github.com/groupdocs-total/GroupDocs.Total-for-Java-Spring/releases/latest) from [releases page](https://github.com/groupdocs-total/GroupDocs.Total-for-Java-Spring/releases).
**Note**: This method is **recommended** for running this sample behind firewall.
```bash
curl -J -L -o release.tar.gz https://github.com/groupdocs-total/GroupDocs.Total-for-Java-Spring/releases/download/0.4.73/release.tar.gz
tar -xvzf release.tar.gz
cd release
java -jar total-spring-0.4.73.jar configuration.yaml
## Open http://localhost:8080/ in your favorite browser.
```
#### Docker image
Use [docker image](https://hub.docker.com/u/groupdocs).
```bash
mkdir DocumentSamples
mkdir Licenses
docker run -p 8080:8080 --env application.hostAddress=localhost -v `pwd`/DocumentSamples:/home/groupdocs/app/DocumentSamples -v `pwd`/Licenses:/home/groupdocs/app/Licenses groupdocs/total
## Open http://localhost:8080/ in your favorite browser.
```
## Configuration
For all methods above you can adjust settings in `configuration.yml`. By default in this sample will lookup for license file in `./Licenses` folder, so you can simply put your license file in that folder or specify relative/absolute path by setting `licensePath` value in `configuration.yml`.
## License
The MIT License (MIT).
Please have a look at the LICENSE.md for more details
## GroupDocs Total on other platforms & frameworks
- [GroupDocs.Total with JAVA Dropwizard ](https://github.com/groupdocs-total/GroupDocs.Total-for-Java-Dropwizard)
- [GroupDocs.Total with .NET MVC](https://github.com/groupdocs-total/GroupDocs.Total-for-.NET-MVC)
- [GroupDocs.Total with .NET WebForms ](https://github.com/groupdocs-total/GroupDocs.Total-for-.NET-WebForms)
## Resources
- **Website:** [www.groupdocs.com](http://www.groupdocs.com)
- **Product Home:** [GroupDocs.Total for Java](https://products.groupdocs.com/total/java)
- **Product API References:** [GroupDocs.Total for Java API](https://apireference.groupdocs.com)
- **Download:** [Download GroupDocs.Total for Java](http://downloads.groupdocs.com/total/java)
- **Documentation:** [GroupDocs.Total for Java Documentation](https://docs.groupdocs.com/dashboard.action)
- **Free Support Forum:** [GroupDocs.Total for Java Free Support Forum](https://forum.groupdocs.com/c/total)
- **Paid Support Helpdesk:** [GroupDocs.Total for Java Paid Support Helpdesk](https://helpdesk.groupdocs.com)
- **Blog:** [GroupDocs.Total for Java Blog](https://blog.groupdocs.com/category/groupdocs-total-product-family)