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";
}