Cache Property (original) (raw)

Summary

The LEADTOOLS ObjectCache object responsible for managing cache items and expiration policies.

Syntax

public static ObjectCache getCache() public void ObjectCache getCache(static value)

Property Value

The cache object responsible for managing cache items and expiration policies. Default value is null.

Example

using Leadtools; using Leadtools.Caching; using Leadtools.Document; public void DocumentExample() { var cache = GetCache(); var policy = new CacheItemPolicy(); policy.AbsoluteExpiration = DateTime.Now + new TimeSpan(0, 0, 1); policy.SlidingExpiration = new TimeSpan(0, 0, 1); var options = new LoadDocumentOptions(); options.CachePolicy = policy; options.Cache = cache; if(options.Cache == null) { options.Cache = DocumentFactory.Cache; } string documentId = null; using (var document = DocumentFactory.LoadFromFile(Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf"), options)) { document.GetDocumentFileName(); document.IsReadOnly = false; document.AutoDeleteFromCache = false; // DocumentImages reference document.Images.DefaultBitsPerPixel = 24; Console.WriteLine(document.Images.IsResolutionsSupported); Console.WriteLine(document.Images.IsSvgSupported); // Check if the document has a stream in memory if (document.HasStream) { // Get the document stream document.GetDocumentStream(); } // Indicate whether the document is using the cache or not Console.WriteLine(document.HasCache); //Indicate if the document was downloaded Console.WriteLine(document.IsDownloaded); // Gets a value that determines whether the document structure is supported Console.WriteLine(document.IsStructureSupported); // Output metadata values (DocumentMetadata reference) Console.WriteLine(document.Metadata.Values.Count); // Get the Mime type of the document Console.WriteLine(document.MimeType); // Parse document structure data (DocumentStructure reference) foreach(DocumentBookmark bookmark in document.Structure.Bookmarks) { bookmark.Title = null; bookmark.FontStyles = DocumentFontStyles.Normal; document.Structure.Bookmarks.Add(bookmark); Console.WriteLine(bookmark.Children); Console.WriteLine(bookmark.Target); Console.WriteLine(document.Structure.Bookmarks.Count); Console.WriteLine(document.Structure.IsParsed); Console.WriteLine(document.Structure.ParseBookmarks); } document.Structure.Parse(); // Get the document URI Console.WriteLine(document.Uri); // Get each DocumentPage object (DocumentPage & DocumentPages reference) foreach (DocumentPage page in document.Pages) { // Get the page as a raster image at the specified resolution page.GetImage(0); // Get the page as an Svg with specified options page.GetSvg(null); // Flip this page horizontally page.Reverse(); // Use this method to add an array of links for this page page.SetLinks(null); page.IsLinksModified = false; page.Resolution = 0; page.ViewPerspective = RasterViewPerspective.TopLeft; page.SetLinks(page.GetLinks()); Console.WriteLine($"Page Number: {page.PageNumber}, Original PageNumber: {page.OriginalPageNumber}, Size of the page: {page.Size}"); } PrintOutDocumentInfo(document); documentId = document.DocumentId; document.SaveToCache(); } System.Threading.Thread.Sleep(2000); var loadFromCacheOptions = new LoadFromCacheOptions(); loadFromCacheOptions.Cache = cache; loadFromCacheOptions.DocumentId = documentId; using (var document = DocumentFactory.LoadFromCache(loadFromCacheOptions)) { if (null == document) { Console.WriteLine("Cached document was expired and deleted!"); } } } static class LEAD_VARS { public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; }