groupdocs/viewer-cloud

By groupdocs

Updated 9 months ago

Document viewing solution for Word, Excel, PowerPoint, PDF, OpenDocument, CAD, Visio & image files.

Image
1

1.3K

groupdocs/viewer-cloud repository overview

Document Viewer REST API & Cloud SDKs

Nuget Nuget GitHub

Product Page | Docs | Demos | Swagger UI | Examples | Blog | Search | Free Support | Free Trial

Flexible document viewing solution for programmers and professionals to view & render a number of document formats including Word documents, Excel spreadsheets, PowerPoint presentations, PDF, OpenDocument formats, emails, CAD files & images. This Docker image makes it possible to use GroupDocs.Viewer REST API on a single machine or integrate into your existing application or system solution.

Quick Start

GroupDocs.Viewer can be started in trial and licensed modes. Optionally you can enable authentication by setting predefined credentials.

Start in Trial Mode

Type the following to start the container and run GroupDocs.Viewer Cloud in trial mode.

Windows (PowerShell)
docker run `
    -p 8080:80 `
    -v "${pwd}/fonts:/fonts" `
    -v "${pwd}/data:/data" `
    --name viewer_cloud `
    groupdocs/viewer-cloud
Linux (bash)
docker run \
    -p 8080:80 \
    -v $(pwd)/fonts:/fonts \
    -v $(pwd)/data:/data \
    --name viewer_cloud \
    groupdocs/viewer-cloud

Wait for the startup process to complete you should see the following log:

info: GroupDocs.Viewer.Cloud.Web.Startup[0]
      "License" parameters are omitted, the app works in trial mode.
...

As you can see from the messages above GroupDocs.Viewer Cloud is working in a trial mode so trial limitations are applied:

  • You can view only two first pages of the document
  • Evaluation watermarks added to the output

Note: You can find more information about licensing and request a temporary license at https://purchase.groupdocs.cloud/trial

Start in Licensed Mode

In case you already have the license keys we can run GroupDocs.Viewer Cloud in licensed mode. To do so pass license private and public keys as environment variables as shown below.

Windows (PowerShell)
docker run `
    -p 8080:80 `
    -v "${pwd}/fonts:/fonts" `
    -v "${pwd}/data:/data" `
    -e "LICENSE_PUBLIC_KEY=public_key" `
    -e "LICENSE_PRIVATE_KEY=private_key" `
    --name viewer_cloud `
    groupdocs/viewer-cloud
Linux (bash)
docker run \
    -p 8080:80 \
    -v $(pwd)/fonts:/fonts \
    -v $(pwd)/data:/data \
    -e LICENSE_PUBLIC_KEY=public_key \
    -e LICENSE_PRIVATE_KEY=private_key \
    --name viewer_cloud \
    groupdocs/viewer-cloud

After the container is started you should see the message that indicates that the license has been set successfully:

info: GroupDocs.Viewer.Cloud.Web.Startup[0]
      The license has been set.
...
Enable Authentication

To enable authentication set CLIENT_ID/CLIENT_SECRET parameters as it shown below. Please note, authentication is required in case you're going to use any of the SDK.

The TOKEN_SECRET is used as the symmetric key for signing JWT tokens with the HMAC-SHA256 algorithm. • If the TOKEN_SECRET environment variable is set, its value will be used as the signing key. • If the TOKEN_SECRET is not set, the application will generate a random 256-bit secret at runtime. This random secret is not persisted and will change every time the application restarts.

Windows (PowerShell)
docker run `
    -p 8080:80 `
    -v "${pwd}/fonts:/fonts" `
    -v "${pwd}/data:/data" `
    -e "CLIENT_ID=client_id" `
    -e "CLIENT_SECRET=client_secret" `
    -e "TOKEN_SECRET=aifvtf67769fydrdjh089y86f7cfnr6e5ev856db7ii8t787rtb6r689f07t897tk907tn8f6b68d987yh0u" `
    --name viewer_cloud `
    groupdocs/viewer-cloud
Linux (bash)
docker run \
    -p 8080:80 \
    -v $(pwd)/fonts:/fonts \
    -v $(pwd)/data:/data \
    -e CLIENT_ID=client_id \
    -e CLIENT_SECRET=client_secret \
    -e TOKEN_SECRET=aifvtf67769fydrdjh089y86f7cfnr6e5ev856db7ii8t787rtb6r689f07t897tk907tn8f6b68d987yh0u \
    --name viewer_cloud \
    groupdocs/viewer-cloud
Enable Google Cloud Storage

By default, a local storage used inside container for file operations. It's possible to connect a Google Cloud storage by setting GOOGLE_APPLICATION_CREDENTIALS and GOOGLE_STORAGE_BUCKET environment variables.

Windows (PowerShell)
docker run `
    -p 8080:80 `
    -v "${pwd}/fonts:/fonts" `
    -v "${pwd}/data:/data" `
    -e "GOOGLE_APPLICATION_CREDENTIALS=/data/key.json" `
    -e "GOOGLE_STORAGE_BUCKET=bucket_id" `
    --name viewer_cloud `
    groupdocs/viewer-cloud
Linux (bash)
docker run \
    -p 8080:80 \
    -v $(pwd)/fonts:/fonts \
    -v $(pwd)/data:/data \
    -e GOOGLE_APPLICATION_CREDENTIALS=/data/key.json \
    -e GOOGLE_STORAGE_BUCKET=bucket_id \
    --name viewer_cloud \
    groupdocs/viewer-cloud
Health Check

You can check service status by calling GET http://localhost:8080/once the container and GroupDocs.Viewer Cloud has started. The successful response status is 200 which means that service is up and running.

Windows (PowerShell)
Invoke-WebRequest -Uri http://localhost:8080/
Linux (bash)
curl -i http://localhost:8080/
Using the UI

After starting, you can use Swagger UI at http://localhost:8080/swagger/ and start exploring the API.

Stopping

To stop the running Docker container, just use Ctrl+C in the same terminal where the container is running. Alternatively, you can stop the container by name.

docker stop viewer_cloud

Container Configuration

Volumes
Mount path in containerDescription
/fontsFolder with fonts, which will be used when processing the documents
/dataFolder with documents to process
Parameters
NameDescription
LICENSE_PUBLIC_KEYPublic key of the license
LICENSE_PRIVATE_KEYPrivate key of the license
CLIENT_IDPredefined client ID (requied when using SDK)
CLIENT_SECRETPredefined client secret key (requied when using SDK)
GOOGLE_APPLICATION_CREDENTIALSPath to json file containing Google Cloud Storage Credentials (can be obtained in Google Cloud Console)
GOOGLE_STORAGE_BUCKETName of Google Cloud Storage bucket, where files should be stored

Things to Remember

  • If "License" parameters are omitted, the app will work in trial mode.
  • If "CLIENT_ID" parameter is set, each request requires "Authorization" header (JWT Authentication).
  • The URL to obtain token is "/connect/token".

Next Steps

We generate our SDKs in different languages so you may check if yours is available in the following list. If you don't find your language, feel free to request for it on our Support Forum, or use raw REST API requests as detailed on GroupDocs.Viewer Cloud for cURL.

Product Page | Docs | Demos | Swagger UI | Examples | Blog | Search | Free Support | Free Trial

Tag summary

Content type

Image

Digest

sha256:720302057

Size

296.4 MB

Last updated

9 months ago

Requires Docker Desktop 4.37.1 or later.