checkCacheInfo Method

Summary

Retrieves information for a document in the cache using its ID.

Syntax
TypeScript
JavaScript
checkCacheInfo = function( 
   uri 
) 
static checkCacheInfo( 
   uri: string 
): JQueryPromise<CacheInfo>; 

Parameters

uri

The document's URI. This value cannot be null. This can be the URL to a document previously uploaded to the cache or a document ID.

Return Value

A Promise object that can resolve successfully to a CacheInfo object, or null if a document with such URL or document ID does not exist.

Remarks

Use checkCacheInfo to quickly obtain information about a document in the cache without loading it. This includes whether the document is in the cache, its name and mime type, the number of pages and whether it was loaded by the user.

Example

This example shows how to use checkCacheInfo to get information about a document in the cache.

CheckCacheInfo.ts
DocumentHelper.ts
CheckCacheInfo.js
DocumentHelper.js
CheckCacheInfo.html
import { DocumentHelper } from "../../utilities/DocumentHelper"; 
 
export class DocumentFactory_CheckCacheInfoExample { 
   public constructor() { 
      lt.RasterSupport.setLicenseUri("https://demo.leadtools.com/licenses/js/LEADTOOLSEVAL.txt", "EVAL", null); 
      DocumentHelper.initFactory(); 
   } 
 
   public run = (buttonID: string) => { 
      const exampleButton = document.getElementById(buttonID); 
      exampleButton.onclick = this.checkCache; 
   } 
 
   checkCache = () => { 
      // Load a new document 
      const url = "https://demo.leadtools.com/images/pdf/leadtools.pdf"; 
      const loadDocumentOptions = new lt.Document.LoadDocumentOptions(); 
 
      lt.Document.DocumentFactory.loadFromUri(url, loadDocumentOptions) 
         .done((document: lt.Document.LEADDocument) => { 
            DocumentHelper.log("Document loaded with " + document.pages.count + " pages", document); 
            // Check its cache info 
            lt.Document.DocumentFactory.checkCacheInfo(document.documentId) 
               .done((cacheInfo) => { 
                  if (cacheInfo) { 
                     // Found, show it 
                     DocumentHelper.log("Document was found in the cache"); 
                     DocumentHelper.log("IsVirtual is " + cacheInfo.isVirtual); 
                     DocumentHelper.log("IsLoaded is " + cacheInfo.isLoaded); 
                     DocumentHelper.log("HasAnnotations is " + cacheInfo.hasAnnotations); 
                     DocumentHelper.log("Name is " + cacheInfo.name); 
                     DocumentHelper.log("MIMEType is " + cacheInfo.mimeType); 
                     DocumentHelper.log("MIMEType accepted " + cacheInfo.isMimeTypeAccepted); 
                     DocumentHelper.log("Number of Pages is " + cacheInfo.pageCount); 
                  } else { 
                     DocumentHelper.log("Document was not found in the cache"); 
                  } 
               }) 
               .fail(DocumentHelper.showServiceError); 
         }) 
         .fail(DocumentHelper.showServiceError); 
   } 
} 
export class DocumentHelper { 
   static showServiceError = (jqXHR, statusText, errorThrown) => { 
      alert("Error returned from service. See the console for details."); 
      const serviceError = lt.Document.ServiceError.parseError(jqXHR, statusText, errorThrown); 
      console.error(serviceError); 
   } 
 
   static log = (message: string, data?: any) => { 
      const outputElement = document.getElementById("output"); 
      if (outputElement) { 
         const time = (new Date()).toLocaleTimeString(); 
         const textElement = document.createElement("p"); 
         textElement.innerHTML = (outputElement.childElementCount + 1) + " [" + time + "]: " + message; 
         outputElement.insertBefore(textElement, outputElement.firstChild); 
      } 
 
      if (!data) 
         console.log(message); 
      else 
         console.log(message, data); 
   } 
 
   static initFactory = () => { 
      // To communicate with the DocumentsService, it must be running! 
      // Change these parameters to match the path to the service. 
      lt.Document.DocumentFactory.serviceHost = "http://localhost:40000"; 
      lt.Document.DocumentFactory.servicePath = ""; 
      lt.Document.DocumentFactory.serviceApiPath = "api"; 
   } 
} 
import { DocumentHelper } from "../../utilities/DocumentHelper"; 
 
export class DocumentFactory_CheckCacheInfoExample { 
   constructor() { 
      lt.RasterSupport.setLicenseUri("https://demo.leadtools.com/licenses/js/LEADTOOLSEVAL.txt", "EVAL", null); 
      DocumentHelper.initFactory(); 
   } 
 
   run = (buttonID) => { 
      const exampleButton = document.getElementById(buttonID); 
      exampleButton.onclick = this.checkCache; 
   } 
 
   checkCache = () => { 
      // Load a new document 
      const url = "https://demo.leadtools.com/images/pdf/leadtools.pdf"; 
      const loadDocumentOptions = new lt.Document.LoadDocumentOptions(); 
 
      lt.Document.DocumentFactory.loadFromUri(url, loadDocumentOptions) 
         .done((document) => { 
            DocumentHelper.log("Document loaded with " + document.pages.count + " pages", document); 
            // Check its cache info 
            lt.Document.DocumentFactory.checkCacheInfo(document.documentId) 
               .done((cacheInfo) => { 
                  if (cacheInfo) { 
                     // Found, show it 
                     DocumentHelper.log("Document was found in the cache"); 
                     DocumentHelper.log("IsVirtual is " + cacheInfo.isVirtual); 
                     DocumentHelper.log("IsLoaded is " + cacheInfo.isLoaded); 
                     DocumentHelper.log("HasAnnotations is " + cacheInfo.hasAnnotations); 
                     DocumentHelper.log("Name is " + cacheInfo.name); 
                     DocumentHelper.log("MIMEType is " + cacheInfo.mimeType); 
                     DocumentHelper.log("MIMEType accepted " + cacheInfo.isMimeTypeAccepted); 
                     DocumentHelper.log("Number of Pages is " + cacheInfo.pageCount); 
                  } else { 
                     DocumentHelper.log("Document was not found in the cache"); 
                  } 
               }) 
               .fail(DocumentHelper.showServiceError); 
         }) 
         .fail(DocumentHelper.showServiceError); 
   } 
} 
export class DocumentHelper { 
   static showServiceError = (jqXHR, statusText, errorThrown) => { 
      alert("Error returned from service. See the console for details."); 
      const serviceError = lt.Document.ServiceError.parseError(jqXHR, statusText, errorThrown); 
      console.error(serviceError); 
   } 
 
   static log = (message, data) => { 
      const outputElement = document.getElementById("output"); 
      if (outputElement) { 
         const time = (new Date()).toLocaleTimeString(); 
         const textElement = document.createElement("p"); 
         textElement.innerHTML = (outputElement.childElementCount + 1) + " [" + time + "]: " + message; 
         outputElement.insertBefore(textElement, outputElement.firstChild); 
      } 
 
      if (!data) 
         console.log(message); 
      else 
         console.log(message, data); 
   } 
 
   static initFactory = () => { 
      // To communicate with the DocumentsService, it must be running! 
      // Change these parameters to match the path to the service. 
      lt.Document.DocumentFactory.serviceHost = "http://localhost:40000"; 
      lt.Document.DocumentFactory.servicePath = ""; 
      lt.Document.DocumentFactory.serviceApiPath = "api"; 
   } 
} 
<!doctype html> 
<html lang="en"> 
<title>Document Example | CheckCacheInfo</title> 
 
<head> 
   <script src="https://code.jquery.com/jquery-2.2.4.min.js" 
      integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> 
 
   <script src="../../LT/Leadtools.js"></script> 
   <script src="../../LT/Leadtools.Controls.js"></script> 
   <script src="../../LT/Leadtools.Annotations.Engine.js"></script> 
   <script src="../../LT/Leadtools.Annotations.Designers.js"></script> 
   <script src="../../LT/Leadtools.Annotations.Rendering.Javascript.js"></script> 
   <script src="../../LT/Leadtools.Annotations.Automation.js"></script> 
   <script src="../../LT/Leadtools.ImageProcessing.Main.js"></script> 
   <script src="../../LT/Leadtools.ImageProcessing.Color.js"></script> 
   <script src="../../LT/Leadtools.ImageProcessing.Core.js"></script> 
   <script src="../../LT/Leadtools.ImageProcessing.Effects.js"></script> 
   <script src="../../LT/Leadtools.Document.js"></script> 
   <script src="../../LT/Leadtools.Document.Viewer.js"></script> 
   <link rel="stylesheet" type="text/css" href="../../css/examples.css"> 
 
   <!-- All demo files are bundled and appended to the window --> 
   <script src="../../bundle.js" type="text/javascript"></script> 
</head> 
 
<body> 
   <div> 
      <button type="button" id="exampleButton">Run Example</button> 
   </div> 
   <div id="output"></div> 
   <div> 
      <img id="img" /> 
   </div> 
</body> 
 
<script> 
   window.onload = () => { 
      const example = new window.examples.DocumentFactory.CheckCacheInfo(); 
      example.run("exampleButton"); 
   }; 
</script> 
</html> 
Requirements

Target Platforms

Help Version 22.0.2023.2.1
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Document Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.