Retrieves information for a document in the cache using its URI.
public static DocumentCacheInfo GetDocumentCacheInfo(
ObjectCache cache,
Uri uri
)
public:
static DocumentCacheInfo^ GetDocumentCacheInfo(
ObjectCache^ cache,
Uri^ uri
)
cache
The cache object to use. This value cannot be null.
uri
The URI to the document. This can be the temporary URI for the uploaded document. This value cannot be null.
DocumentCacheInfo object that contains the information of the document referenced by uri such as its name, mime type, page count if the document was found in the cache; otherwise, null if no document with the ID specified by uri was found in the cache.
Use GetDocumentCacheInfo 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 whether it was loaded by the user.
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 cache
FileCache cache = new FileCache();
cache.CacheDirectory = @"c:\cache-dir";
// We will use this document ID
const string documentId = "test-document";
// Ensure that the document does not exist in the cache
var deleteFromCacheOptions = new LoadFromCacheOptions();
deleteFromCacheOptions.Cache = cache;
deleteFromCacheOptions.DocumentId = documentId;
DocumentFactory.DeleteFromCache(deleteFromCacheOptions);
DocumentCacheInfo cacheInfo;
// Now get the info for this document, it should not exist
cacheInfo = DocumentFactory.GetDocumentCacheInfo(cache, documentId);
Debug.Assert(cacheInfo == null);
// Next, upload a document into this cache
var 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 loaded
cacheInfo = DocumentFactory.GetDocumentCacheInfo(cache, documentId);
// DocumentCacheInfo reference
Console.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 document
var loadDocumentOptions = new LoadDocumentOptions();
loadDocumentOptions.Cache = cache;
using (var document = DocumentFactory.LoadFromUri(uploadUri, loadDocumentOptions))
{
// Save it to the cache
document.AutoSaveToCache = false;
document.AutoDeleteFromCache = false;
document.SaveToCache();
}
// Now get its info again, it should be there and loaded
cacheInfo = 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 cache
FileCache cache = new FileCache();
cache.setCacheDirectory("c:\\cache-dir");
// We will use this document ID
final String documentId = "test-document";
// Ensure that the document does not exist in the cache
LoadFromCacheOptions deleteFromCacheOptions = new LoadFromCacheOptions();
deleteFromCacheOptions.setCache(cache);
deleteFromCacheOptions.setDocumentId(documentId);
DocumentFactory.deleteFromCache(deleteFromCacheOptions);
DocumentCacheInfo cacheInfo;
// Now get the info for this document, it should not exist
cacheInfo = DocumentFactory.getDocumentCacheInfo(cache, documentId);
assertTrue(cacheInfo == null);
// Next, upload a document into this cache
UploadDocumentOptions 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 loaded
cacheInfo = DocumentFactory.getDocumentCacheInfo(cache, documentId);
// DocumentCacheInfo reference
System.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 document
LoadDocumentOptions loadDocumentOptions = new LoadDocumentOptions();
loadDocumentOptions.setCache(cache);
LEADDocument document = DocumentFactory.loadFromUri(uploadUri, loadDocumentOptions);
// Save it to the cache
document.setAutoSaveToCache(false);
document.setAutoDeleteFromCache(false);
document.saveToCache();
// Now get its info again, it should be there and loaded
cacheInfo = 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
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.