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:
- Instantiate desired cache object (for example FileCache will store converted document results at the local drive)
- Pass ConverterSettings object factory to constructor of a Converter class
- 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);
}