Retrieves the annotations history tracking object of this LEADDocument.
public AnnHistory GetHistory() public:AnnHistory^ GetHistory()
def GetHistory(self):
The annotations history tracking object of this LEADDocument.
Refer to Document Toolkit History Tracking 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 DocumentHistoryExample(){// Setup a cacheFileCache cache = new FileCache();cache.CacheDirectory = @"c:\cache-dir";// Create a new documentvar createOptions = new CreateDocumentOptions();const string documentId = "virtual";createOptions.Cache = cache;createOptions.DocumentId = documentId;using (var document = DocumentFactory.Create(createOptions)){document.Name = "Virtual";// DocumentHistory referencedocument.History.AutoUpdate = true;document.IsReadOnly = false;// Show its historyShowHistory("virtual", document);// Ensure it has no pagesDebug.Assert(document.Pages.Count == 0);Debug.Assert(document.Documents.Count == 0);// Add some pages// First add the first 2 pages from a PDF filevar loadOptions = new LoadDocumentOptions();loadOptions.Cache = cache;LEADDocument childDocument = DocumentFactory.LoadFromUri(new Uri("https://demo.leadtools.com/images/pdf/leadtools.pdf"), loadOptions);childDocument.AutoDeleteFromCache = false;childDocument.SaveToCache();childDocument.Annotations.SetHistory(childDocument.Annotations.GetHistory());document.Pages.Add(childDocument.Pages[0]);document.Pages.Add(childDocument.Pages[1]);// Add an empty pagevar documentPage = document.Pages.CreatePage(LeadSizeD.Create(LEADDocument.UnitsPerInch * 8.5, LEADDocument.UnitsPerInch * 11), 300);document.Pages.Add(documentPage);// Add last 2 pages from a TIFF filechildDocument = DocumentFactory.LoadFromUri(new Uri("https://demo.leadtools.com/images/pdf/leadtools.pdf"), loadOptions);childDocument.AutoDeleteFromCache = false;childDocument.SaveToCache();document.Pages.Add(childDocument.Pages[2]);document.Pages.Add(childDocument.Pages[3]);// Check the documentDebug.Assert(5 == document.Pages.Count);Debug.Assert(2 == document.Documents.Count);// Get each DocumentHistoryItemforeach (DocumentHistoryItem item in document.History.GetItems()){document.History.SetItems(null);Console.WriteLine(item);}// Enumerate through DocumentHistoryModifyTypeDocumentHistoryModifyType[] modifyType = (DocumentHistoryModifyType[])Enum.GetValues(typeof(DocumentHistoryModifyType));foreach (var type in modifyType){Console.WriteLine($"Type of modification: {type}");}document.AutoDisposeDocuments = true;document.AutoDeleteFromCache = false;document.SaveToCache();}// Load it and show its historyvar loadFromCacheOptions = new LoadFromCacheOptions();loadFromCacheOptions.Cache = cache;loadFromCacheOptions.DocumentId = documentId;using (var document = DocumentFactory.LoadFromCache(loadFromCacheOptions)){ShowHistory("virtual pages added", document);// Clear the historydocument.History.Clear();}// Now, load the document from the cacheusing (var document = DocumentFactory.LoadFromCache(loadFromCacheOptions)){Debug.Assert(5 == document.Pages.Count);Debug.Assert(2 == document.Documents.Count);// Remove some pagesdocument.Pages.RemoveAt(0);document.Pages.RemoveAt(document.Pages.Count - 1);// And rotate anotherdocument.Pages[1].Rotate(90);Debug.Assert(3 == document.Pages.Count);Debug.Assert(2 == document.Documents.Count);ShowHistory("virtual pages removed and rotated", document);}// Clean upvar deleteFromCacheOptions = new LoadFromCacheOptions();deleteFromCacheOptions.Cache = cache;deleteFromCacheOptions.DocumentId = documentId;DocumentFactory.DeleteFromCache(deleteFromCacheOptions);}private static void ShowHistory(string message, LEADDocument document){Console.WriteLine("History " + message);var items = document.History.GetItems();foreach (var item in items){Console.WriteLine(" user:{0} timestamp:{1} comment:{2} modifyType:{3} pageNumber:{4}",item.UserId, item.Timestamp, item.Comment, item.ModifyType, item.PageNumber);}}
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 documentHistoryExample() throws URISyntaxException {// Setup a cacheFileCache cache = new FileCache();cache.setCacheDirectory("c:\\cache-dir");// Create a new documentCreateDocumentOptions createOptions = new CreateDocumentOptions();final String documentId = "virtual";createOptions.setCache(cache);createOptions.setDocumentId(documentId);LEADDocument document = DocumentFactory.create(createOptions);document.setName("Virtual");// DocumentHistory referencedocument.getHistory().setAutoUpdate(true);document.setReadOnly(false);// Show its historyshowHistory("virtual", document);// Ensure it has no pagesassertTrue(document.getPages().size() == 0);assertTrue(document.getDocuments().size() == 0);// Add some pages// First add the first 2 pages from a PDF fileLoadDocumentOptions loadOptions = new LoadDocumentOptions();loadOptions.setCache(cache);LEADDocument childDocument = DocumentFactory.loadFromUri(new URI("https://demo.leadtools.com/images/pdf/leadtools.pdf"), loadOptions);childDocument.setAutoDeleteFromCache(false);childDocument.saveToCache();childDocument.getAnnotations().setHistory(childDocument.getAnnotations().getHistory());document.getPages().add(childDocument.getPages().get(0));document.getPages().add(childDocument.getPages().get(1));// Add an empty pageDocumentPage documentPage = document.getPages().createPage(LeadSizeD.create(LEADDocument.UNITS_PER_INCH * 8.5, LEADDocument.UNITS_PER_INCH * 11), 300);document.getPages().add(documentPage);// Add last 2 pages from a TIFF filechildDocument = DocumentFactory.loadFromUri(new URI("https://demo.leadtools.com/images/pdf/leadtools.pdf"),loadOptions);childDocument.setAutoDeleteFromCache(false);childDocument.saveToCache();document.getPages().add(childDocument.getPages().get(2));document.getPages().add(childDocument.getPages().get(3));// Check the documentassertTrue(5 == document.getPages().size());assertTrue(2 == document.getDocuments().size());// Get each DocumentHistoryItemfor (DocumentHistoryItem item : document.getHistory().getItems()) {document.getHistory().setItems(null);System.out.println(item);}// Enumerate through DocumentHistoryModifyTypeDocumentHistoryModifyType[] modifyType = DocumentHistoryModifyType.values();for (DocumentHistoryModifyType type : modifyType) {System.out.println("Type of modification: " + type);}document.setAutoDisposeDocuments(true);document.setAutoDeleteFromCache(false);document.saveToCache();// Load it and show its historyLoadFromCacheOptions loadFromCacheOptions = new LoadFromCacheOptions();loadFromCacheOptions.setCache(cache);loadFromCacheOptions.setDocumentId(documentId);document = DocumentFactory.loadFromCache(loadFromCacheOptions);showHistory("virtual pages added", document);// Clear the historydocument.getHistory().clear();// Now, load the document from the cachedocument = DocumentFactory.loadFromCache(loadFromCacheOptions);assertTrue(5 == document.getPages().size());assertTrue(2 == document.getDocuments().size());// Remove some pagesdocument.getPages().remove(0);document.getPages().remove(document.getPages().size() - 1);// And rotate anotherdocument.getPages().get(1).rotate(90);assertTrue(3 == document.getPages().size());assertTrue(2 == document.getDocuments().size());showHistory("virtual pages removed and rotated", document);// Clean upLoadFromCacheOptions deleteFromCacheOptions = new LoadFromCacheOptions();deleteFromCacheOptions.setCache(cache);deleteFromCacheOptions.setDocumentId(documentId);DocumentFactory.deleteFromCache(deleteFromCacheOptions);}private void showHistory(String message, LEADDocument document) {System.out.println("History " + message);List<DocumentHistoryItem> items = document.getHistory().getItems();for (DocumentHistoryItem item : items) {System.out.printf(" user:%s timestamp:%s comment:%s modifyType:%s pageNumber:%s%n",item.getUserId(), item.getTimestamp(), item.getComment(), item.getModifyType(), item.getPageNumber());}}
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
