Caching

In some cases document conversion may be a time-consuming operation (dependent on source document content, structure and complexity). For such situations caching can be a solution - converted document is stored into cache (for example at the local drive) and in a case of repetitive conversions of the document, GroupDocs.Conversion uses cached representation. 

To enable caching, follow these steps:

  1. Instantiate desired cache object (for example FileCache will store converted document results at the local drive)
  2. Pass ConverterSettings object factory to constructor of a Converter class
  3. Call Convert method of Converter class

Here is a code that demonstrates how to enable caching for GroupDocs.Conversion.

string cachePath = "c:\output\cache";
FileCache cache = new FileCache(cachePath);
Contracts.Func<ConverterSettings> settingsFactory = () => new ConverterSettings
{
    Cache = cache
};
using (Converter converter = new Converter("sample.docx", settingsFactory))
{
    PdfConvertOptions options = new PdfConvertOptions();
    Stopwatch stopWatch = Stopwatch.StartNew();
    converter.Convert("converted.pdf", options);
    stopWatch.Stop();
    Console.WriteLine("Time taken on first call to Convert method {0} (ms).", stopWatch.ElapsedMilliseconds);
    stopWatch.Restart();
    converter.Convert("converted-1.pdf", options);
    stopWatch.Stop();
    Console.WriteLine("Time taken on second call to Convert method {0} (ms).", stopWatch.ElapsedMilliseconds);
}