Indicates whether the document has any annotations.
public bool HasAnnotations { get; set; } public:property bool HasAnnotations{bool get()void set(bool value)}
HasAnnotations # get and set (DocumentCacheInfo)
true if this document has any annotations; otherwise, false.
The document has annotations if any of the following is true:
The document was loaded with an external annotation file set in LoadDocumentOptions.AnnotationsUri.
The user has uploaded this document with annotations.
The user has changed the annotations using DocumentAnnotations.SetAnnotations or DocumentPage.SetAnnotations.
using Leadtools;using Leadtools.Codecs;using Leadtools.Document.Writer;using Leadtools.Document;using Leadtools.Caching;using Leadtools.Annotations.Engine;using Leadtools.Ocr;using Leadtools.Barcode;using Leadtools.Document.Converter;public void GetDocumentCacheInfoExample(){string documentFile = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf");// Setup a cacheFileCache cache = new FileCache();cache.CacheDirectory = @"c:\cache-dir";// We will use this document IDconst string documentId = "test-document";// Ensure that the document does not exist in the cachevar deleteFromCacheOptions = new LoadFromCacheOptions();deleteFromCacheOptions.Cache = cache;deleteFromCacheOptions.DocumentId = documentId;DocumentFactory.DeleteFromCache(deleteFromCacheOptions);DocumentCacheInfo cacheInfo;// Now get the info for this document, it should not existcacheInfo = DocumentFactory.GetDocumentCacheInfo(cache, documentId);Debug.Assert(cacheInfo == null);// Next, upload a document into this cachevar uploadDocumentOptions = new UploadDocumentOptions();uploadDocumentOptions.Cache = cache;uploadDocumentOptions.DocumentId = documentId;uploadDocumentOptions.Name = "Leadtools.pdf";Uri uploadUri = DocumentFactory.BeginUpload(uploadDocumentOptions);using (var stream = File.OpenRead(documentFile)){var buffer = new byte[stream.Length];stream.Read(buffer, 0, buffer.Length);DocumentFactory.UploadDocument(cache, uploadUri, buffer, 0, buffer.Length);}DocumentFactory.EndUpload(cache, uploadUri);// Now check the info again, it should be there but not loadedcacheInfo = DocumentFactory.GetDocumentCacheInfo(cache, documentId);// DocumentCacheInfo referenceConsole.WriteLine("After upload");Console.WriteLine(" DocumentId:" + cacheInfo.DocumentId);Console.WriteLine(" Name:" + cacheInfo.Name);Console.WriteLine(" IsLoaded:" + cacheInfo.IsLoaded);Console.WriteLine(" Annotations data length:" + cacheInfo.AnnotationsDataLength);Console.WriteLine(" Document data length:" + cacheInfo.DocumentDataLength);Console.WriteLine(" Has annotations:" + cacheInfo.HasAnnotations);Console.WriteLine(" Has user token:" + cacheInfo.HasUserToken);Console.WriteLine(" Is virtual:" + cacheInfo.IsVirtual);Console.WriteLine(" Mime Type:" + cacheInfo.MimeType);Console.WriteLine(" Mime Type status:" + cacheInfo.MimeTypeStatus);Console.WriteLine(" Page count:" + cacheInfo.PageCount);Debug.Assert(cacheInfo.DocumentId == documentId);Debug.Assert(cacheInfo.Name == "Leadtools.pdf");Debug.Assert(!cacheInfo.IsLoaded);Debug.Assert(cacheInfo.AnnotationsDataLength == 0);Debug.Assert(cacheInfo.DocumentDataLength == 90301);Debug.Assert(!cacheInfo.HasAnnotations);Debug.Assert(!cacheInfo.HasUserToken);Debug.Assert(!cacheInfo.IsVirtual);Debug.Assert(cacheInfo.MimeType == null);Debug.Assert(cacheInfo.MimeTypeStatus == DocumentMimeTypeStatus.Unspecified);Debug.Assert(cacheInfo.PageCount == 0);// Next load this documentvar loadDocumentOptions = new LoadDocumentOptions();loadDocumentOptions.Cache = cache;using (var document = DocumentFactory.LoadFromUri(uploadUri, loadDocumentOptions)){// Save it to the cachedocument.AutoSaveToCache = false;document.AutoDeleteFromCache = false;document.SaveToCache();}// Now get its info again, it should be there and loadedcacheInfo = DocumentFactory.GetDocumentCacheInfo(cache, documentId);Console.WriteLine("After load");Console.WriteLine(" DocumentId:" + cacheInfo.DocumentId);Console.WriteLine(" Name:" + cacheInfo.Name);Console.WriteLine(" IsLoaded:" + cacheInfo.IsLoaded);Console.WriteLine(" Annotations data length:" + cacheInfo.AnnotationsDataLength);Console.WriteLine(" Document data length:" + cacheInfo.DocumentDataLength);Console.WriteLine(" Has annotations:" + cacheInfo.HasAnnotations);Console.WriteLine(" Has user token:" + cacheInfo.HasUserToken);Console.WriteLine(" Is virtual:" + cacheInfo.IsVirtual);Console.WriteLine(" Mime Type:" + cacheInfo.MimeType);Console.WriteLine(" Mime Type status:" + cacheInfo.MimeTypeStatus);Console.WriteLine(" Page count:" + cacheInfo.PageCount);Debug.Assert(cacheInfo.DocumentId == documentId);Debug.Assert(cacheInfo.Name == "Leadtools.pdf");Debug.Assert(cacheInfo.IsLoaded);Debug.Assert(cacheInfo.AnnotationsDataLength == 0);Debug.Assert(cacheInfo.DocumentDataLength == 90301);Debug.Assert(!cacheInfo.HasAnnotations);Debug.Assert(!cacheInfo.HasUserToken);Debug.Assert(!cacheInfo.IsVirtual);Debug.Assert(cacheInfo.MimeType == "application/pdf");Debug.Assert(cacheInfo.MimeTypeStatus == DocumentMimeTypeStatus.Unspecified);Debug.Assert(cacheInfo.PageCount == 5);}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}
import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.net.MalformedURLException;import java.net.URI;import java.net.URISyntaxException;import java.net.URL;import java.nio.file.Files;import java.nio.file.Paths;import java.util.ArrayList;import java.util.Calendar;import java.util.List;import java.util.concurrent.Callable;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Future;import java.util.regex.Pattern;import org.junit.*;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;import static org.junit.Assert.*;import leadtools.*;import leadtools.annotations.engine.*;import leadtools.barcode.*;import leadtools.caching.*;import leadtools.codecs.*;import leadtools.document.*;import leadtools.document.DocumentMimeTypes.UserGetDocumentStatusHandler;import leadtools.document.converter.*;import leadtools.document.writer.*;import leadtools.ocr.*;public void getDocumentCacheInfoExample() throws IOException {final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";String documentFile = combine(LEAD_VARS_IMAGES_DIR, "Leadtools.pdf");// Setup a cacheFileCache cache = new FileCache();cache.setCacheDirectory("c:\\cache-dir");// We will use this document IDfinal String documentId = "test-document";// Ensure that the document does not exist in the cacheLoadFromCacheOptions deleteFromCacheOptions = new LoadFromCacheOptions();deleteFromCacheOptions.setCache(cache);deleteFromCacheOptions.setDocumentId(documentId);DocumentFactory.deleteFromCache(deleteFromCacheOptions);DocumentCacheInfo cacheInfo;// Now get the info for this document, it should not existcacheInfo = DocumentFactory.getDocumentCacheInfo(cache, documentId);assertTrue(cacheInfo == null);// Next, upload a document into this cacheUploadDocumentOptions uploadDocumentOptions = new UploadDocumentOptions();uploadDocumentOptions.setCache(cache);uploadDocumentOptions.setDocumentId(documentId);uploadDocumentOptions.setName("Leadtools.pdf");URI uploadUri = DocumentFactory.beginUpload(uploadDocumentOptions);byte[] buffer = Files.readAllBytes(new File(documentFile).toPath());DocumentFactory.uploadDocument(cache, uploadUri, buffer, 0, buffer.length);DocumentFactory.endUpload(cache, uploadUri);// Now check the info again, it should be there but not loadedcacheInfo = DocumentFactory.getDocumentCacheInfo(cache, documentId);// DocumentCacheInfo referenceSystem.out.println("After upload");System.out.println(" DocumentId:" + cacheInfo.getDocumentId());System.out.println(" Name:" + cacheInfo.getName());System.out.println(" IsLoaded:" + cacheInfo.isLoaded());System.out.println(" Annotations data length:" + cacheInfo.getAnnotationsDataLength());System.out.println(" Document data length:" + cacheInfo.getDocumentDataLength());System.out.println(" Has annotations:" + cacheInfo.hasAnnotations());System.out.println(" Has user token:" + cacheInfo.hasUserToken());System.out.println(" Is virtual:" + cacheInfo.isVirtual());System.out.println(" Mime Type:" + cacheInfo.getMimeType());System.out.println(" Mime Type status:" + cacheInfo.getMimeTypeStatus());System.out.println(" Page count:" + cacheInfo.getPageCount());assertTrue(cacheInfo.getDocumentId().equals(documentId));System.out.println(cacheInfo.getName());assertTrue(cacheInfo.getName().equals("Leadtools.pdf"));assertTrue(!cacheInfo.isLoaded());assertTrue(cacheInfo.getAnnotationsDataLength() == 0);System.out.println(cacheInfo.getDocumentDataLength());assertTrue(cacheInfo.getDocumentDataLength() == 90301);assertTrue(!cacheInfo.hasAnnotations());assertTrue(!cacheInfo.hasUserToken());assertTrue(!cacheInfo.isVirtual());assertTrue(cacheInfo.getMimeType() == null);assertTrue(cacheInfo.getMimeTypeStatus() == DocumentMimeTypeStatus.UNSPECIFIED);assertTrue(cacheInfo.getPageCount() == 0);// Next load this documentLoadDocumentOptions loadDocumentOptions = new LoadDocumentOptions();loadDocumentOptions.setCache(cache);LEADDocument document = DocumentFactory.loadFromUri(uploadUri, loadDocumentOptions);// Save it to the cachedocument.setAutoSaveToCache(false);document.setAutoDeleteFromCache(false);document.saveToCache();// Now get its info again, it should be there and loadedcacheInfo = DocumentFactory.getDocumentCacheInfo(cache, documentId);System.out.println("After load");System.out.println(" DocumentId:" + cacheInfo.getDocumentId());System.out.println(" Name:" + cacheInfo.getName());System.out.println(" IsLoaded:" + cacheInfo.isLoaded());System.out.println(" Annotations data length:" + cacheInfo.getAnnotationsDataLength());System.out.println(" Document data length:" + cacheInfo.getDocumentDataLength());System.out.println(" Has annotations:" + cacheInfo.hasAnnotations());System.out.println(" Has user token:" + cacheInfo.hasUserToken());System.out.println(" Is virtual:" + cacheInfo.isVirtual());System.out.println(" Mime Type:" + cacheInfo.getMimeType());System.out.println(" Mime Type status:" + cacheInfo.getMimeTypeStatus());System.out.println(" Page count:" + cacheInfo.getPageCount());assertTrue(cacheInfo.getDocumentId().equals(documentId));assertTrue(cacheInfo.getName().equals("Leadtools.pdf"));assertTrue(cacheInfo.isLoaded());assertTrue(cacheInfo.getAnnotationsDataLength() == 0);assertTrue(cacheInfo.getDocumentDataLength() == 90301);assertTrue(!cacheInfo.hasAnnotations());assertTrue(!cacheInfo.hasUserToken());assertTrue(!cacheInfo.isVirtual());assertTrue(cacheInfo.getMimeType().equals("application/pdf"));assertTrue(cacheInfo.getMimeTypeStatus() == DocumentMimeTypeStatus.UNSPECIFIED);assertTrue(cacheInfo.getPageCount() == 5);}
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
