User token associated with the document.
public string UserToken {get; set;} public:property String^ UserToken{String^ get()void set(String^ value)}
UserToken # get and set (LEADDocument)
The user token associated with the document. The default value is null.
User tokens can optionally be used with a document to restrict usage. Refer to Loading Using LEADTOOLS Document Library for more information.
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 tokenvar 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 tokenAssert.IsNull(document.UserToken);document.AutoSaveToCache = false;document.AutoDeleteFromCache = false;document.SaveToCache();}// Load from cachevar loadFromCacheOptions = new LoadFromCacheOptions();loadFromCacheOptions.Cache = cache;loadFromCacheOptions.DocumentId = documentId;loadFromCacheOptions.UserToken = null;// This should workConsole.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 tokenAssert.IsNotNull(document);}// Load it again and set the tokenConsole.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 tokenAssert.IsNull(document.UserToken);// Set a tokendocument.UserToken = userToken;document.SaveToCache();}// This should failConsole.WriteLine("Loading the document without a user token");using (var document = DocumentFactory.LoadFromCache(loadFromCacheOptions)){// Make sure it did not loadAssert.IsNull(document);}// This should workloadFromCacheOptions.UserToken = userToken;Console.WriteLine("Loading the document with a user token");using (var document = DocumentFactory.LoadFromCache(loadFromCacheOptions)){// Make sure it has the same user tokenAssert.IsNotNull(document);Assert.AreEqual(userToken, document.UserToken);}// This should failloadFromCacheOptions.UserToken = null;Console.WriteLine("Deleting the document without a user token");bool isDeletedFromCache = DocumentFactory.DeleteFromCache(loadFromCacheOptions);// Make sure it did not get deletedAssert.IsFalse(isDeletedFromCache);// This should workloadFromCacheOptions.UserToken = userToken;Console.WriteLine("Deleting the document with a user token");isDeletedFromCache = DocumentFactory.DeleteFromCache(loadFromCacheOptions);// Make sure it got deletedAssert.IsTrue(isDeletedFromCache);}public ObjectCache GetCache(){// Create a LEADTOOLS FileCache objectvar 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:\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 userTokenExample() throws URISyntaxException {FileCache cache = getCache();URI documentUri = new URI("https://demo.leadtools.com/images/pdf/leadtools.pdf");final String documentId = "document-with-token";final String userToken = "my-secret";// Load from the URI without a tokenLoadDocumentOptions loadDocumentOptions = new LoadDocumentOptions();loadDocumentOptions.setCache(cache);loadDocumentOptions.setDocumentId(documentId);System.out.println("Loading a document into the cache without a user token");LEADDocument document = DocumentFactory.loadFromUri(documentUri, loadDocumentOptions);// Make sure it does not have a user tokenassertTrue(document.getUserToken() == null);document.setAutoSaveToCache(false);document.setAutoDeleteFromCache(false);document.saveToCache();// Load from cacheLoadFromCacheOptions loadFromCacheOptions = new LoadFromCacheOptions();loadFromCacheOptions.setCache(cache);loadFromCacheOptions.setDocumentId(documentId);loadFromCacheOptions.setUserToken(null);// This should workSystem.out.println("Loading the document from the cache without a user token");document = DocumentFactory.loadFromCache(loadFromCacheOptions);// Make sure it does not have a user tokenassertTrue(document != null);// Load it again and set the tokenSystem.out.println("Setting the document user token and saving it into the cache");document = DocumentFactory.loadFromCache(loadFromCacheOptions);// Make sure it does not have a user tokenassertTrue(document.getUserToken() == null);// Set a tokendocument.setUserToken(userToken);document.saveToCache();// This should failSystem.out.println("Loading the document without a user token");document = DocumentFactory.loadFromCache(loadFromCacheOptions);// Make sure it did not loadassertTrue(document == null);// This should workloadFromCacheOptions.setUserToken(userToken);System.out.println("Loading the document with a user token");document = DocumentFactory.loadFromCache(loadFromCacheOptions);// Make sure it has the same user tokenassertTrue(document != null);assertTrue(userToken.equals(document.getUserToken()));// This should failloadFromCacheOptions.setUserToken(null);System.out.println("Deleting the document without a user token");boolean isDeletedFromCache = DocumentFactory.deleteFromCache(loadFromCacheOptions);// Make sure it did not get deletedassertFalse(isDeletedFromCache);// This should workloadFromCacheOptions.setUserToken(userToken);System.out.println("Deleting the document with a user token");isDeletedFromCache = DocumentFactory.deleteFromCache(loadFromCacheOptions);// Make sure it got deletedassertTrue(isDeletedFromCache);}
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
