Information and properties of a document in the cache.
interface lt.Document.CacheInfo()
CacheInfo is returned by DocumentFactory.checkCacheInfo to quickly obtain information on 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 if it was loaded by the user.
CacheInfo contains the following members:
Member | Description |
---|---|
isVirtual | Indicates whether the document is virtual. |
isLoaded | Indicates whether the document was loaded at least once. |
hasAnnotations | Indicates whether the document has any annotations. |
name | Document name |
mimeType | MIME type of the document |
isMimeTypeAccepted | Status of checking the document MIME type. |
pageCount | Number of pages in this document. |
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>
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document