Cache results

Caching saves rendering results to a specified location, such as a local disk. When you re-request the rendering results, GroupDocs.Viewer does not render again, but uses the cached results. As a document can take a long time to render, use caching if you expect to reuse the rendering results.

To enable caching, follow these steps:

  1. Instantiate the desired cache object (for example, FileCache to store document rendering results at the local drive)
  2. Instantiate the ViewerSettings object. Specify the cache object as a parameter of the constructor.
  3. Instantiate the Viewer object. Specify the ViewerSettings object as a parameter of the constructor.
  4. Call the view() method of the Viewer class.

The following code snippet shows how to enable caching and displays the difference between rendering a file and getting the cached results:

import com.groupdocs.viewer.Viewer;
import com.groupdocs.viewer.ViewerSettings;
import com.groupdocs.viewer.caching.FileCache;
import com.groupdocs.viewer.options.HtmlViewOptions;
// ...

String cachePath = "cache";
FileCache cache = new FileCache(cachePath);
ViewerSettings settings = new ViewerSettings(cache);

try (Viewer viewer = new Viewer("sample.docx", settings)) {
    HtmlViewOptions options = HtmlViewOptions.forEmbeddedResources();

    long currentTimeMillis = System.currentTimeMillis();
    viewer.view(options);
    currentTimeMillis = System.currentTimeMillis() - currentTimeMillis;
    System.out.println("Time taken on first call to View method " + currentTimeMillis + " (ms).");

    currentTimeMillis = System.currentTimeMillis();
    viewer.view(options);
    currentTimeMillis = System.currentTimeMillis() - currentTimeMillis;
    System.out.println("Time taken on second call to View method " + currentTimeMillis + " (ms).");
}

The following image shows a sample console output:

For details, please refer to the following pages: