UserToken Property (original) (raw)

Summary

User token associated with the document.

Syntax

public string UserToken {get; set;} 

public: property String^ UserToken { String^ get() void set(String^ value) }

Property Value

The user token associated with the document. The default value is null.

Example

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 UserTokenExample() { var cache = GetCache(); var documentUri = new Uri("https://demo.leadtools.com/images/pdf/leadtools.pdf"); const string documentId = "document-with-token"; const string userToken = "my-secret"; // Load from the URI without a token var loadDocumentOptions = new LoadDocumentOptions(); loadDocumentOptions.Cache = cache; loadDocumentOptions.DocumentId = documentId; Console.WriteLine("Loading a document into the cache without a user token"); using (var document = DocumentFactory.LoadFromUri(documentUri, loadDocumentOptions)) { // Make sure it does not have a user token Assert.IsNull(document.UserToken); document.AutoSaveToCache = false; document.AutoDeleteFromCache = false; document.SaveToCache(); } // Load from cache var loadFromCacheOptions = new LoadFromCacheOptions(); loadFromCacheOptions.Cache = cache; loadFromCacheOptions.DocumentId = documentId; loadFromCacheOptions.UserToken = null; // This should work Console.WriteLine("Loading the document from the cache without a user token"); using (var document = DocumentFactory.LoadFromCache(loadFromCacheOptions)) { // Make sure it does not have a user token Assert.IsNotNull(document); } // Load it again and set the token Console.WriteLine("Setting the document user token and saving it into the cache"); using (var document = DocumentFactory.LoadFromCache(loadFromCacheOptions)) { // Make sure it does not have a user token Assert.IsNull(document.UserToken); // Set a token document.UserToken = userToken; document.SaveToCache(); } // This should fail Console.WriteLine("Loading the document without a user token"); using (var document = DocumentFactory.LoadFromCache(loadFromCacheOptions)) { // Make sure it did not load Assert.IsNull(document); } // This should work loadFromCacheOptions.UserToken = userToken; Console.WriteLine("Loading the document with a user token"); using (var document = DocumentFactory.LoadFromCache(loadFromCacheOptions)) { // Make sure it has the same user token Assert.IsNotNull(document); Assert.AreEqual(userToken, document.UserToken); } // This should fail loadFromCacheOptions.UserToken = null; Console.WriteLine("Deleting the document without a user token"); bool isDeletedFromCache = DocumentFactory.DeleteFromCache(loadFromCacheOptions); // Make sure it did not get deleted Assert.IsFalse(isDeletedFromCache); // This should work loadFromCacheOptions.UserToken = userToken; Console.WriteLine("Deleting the document with a user token"); isDeletedFromCache = DocumentFactory.DeleteFromCache(loadFromCacheOptions); // Make sure it got deleted Assert.IsTrue(isDeletedFromCache); } public ObjectCache GetCache() { // Create a LEADTOOLS FileCache object var cacheDir = Path.Combine(LEAD_VARS.ImagesDir, "cache"); if (Directory.Exists(cacheDir)) Directory.Delete(cacheDir, true); Directory.CreateDirectory(cacheDir); var cache = new FileCache(); cache.CacheDirectory = cacheDir; return cache; } static class LEAD_VARS { public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; }