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:
- Instantiate the desired cache object (for example, FileCache to store document rendering results at the local drive)
- Instantiate the ViewerSettings object. Specify the cache object as a parameter of the constructor.
- Instantiate the Viewer object. Specify the ViewerSettings object as a parameter of the constructor.
- 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:
// Specify parameters.
string outputDirectory = @"C:\output";
string cachePath = Path.Combine(outputDirectory, "cache");
string pageFilePathFormat = Path.Combine(outputDirectory, "page_{0}.html");
// Create a cache.
FileCache cache = new FileCache(cachePath);
ViewerSettings settings = new ViewerSettings(cache);
using (Viewer viewer = new Viewer(@"C:\sample.docx", settings))
{
// Create an HTML file.
HtmlViewOptions options = HtmlViewOptions.ForEmbeddedResources(pageFilePathFormat);
// Render and display the rendering time.
Stopwatch stopWatch = Stopwatch.StartNew();
viewer.View(options);
stopWatch.Stop();
Console.WriteLine("Time taken on first call to View method {0} (ms).", stopWatch.ElapsedMilliseconds);
// Get cached results and display the time.
stopWatch.Restart();
viewer.View(options);
stopWatch.Stop();
Console.WriteLine("Time taken on second call to View method {0} (ms).", stopWatch.ElapsedMilliseconds);
}
The following image shows a sample console output:
For details, please refer to the following pages: