SetItems Method (original) (raw)

Summary

Updates this document modification history.

Syntax

def SetItems(self,value): 

Parameters

value

List of DocumentHistoryItem that contain the modifications or changes that occurred in this document.

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 DocumentHistoryExample() { // Setup a cache FileCache cache = new FileCache(); cache.CacheDirectory = @"c:\cache-dir"; // Create a new document var createOptions = new CreateDocumentOptions(); const string documentId = "virtual"; createOptions.Cache = cache; createOptions.DocumentId = documentId; using (var document = DocumentFactory.Create(createOptions)) { document.Name = "Virtual"; // DocumentHistory reference document.History.AutoUpdate = true; document.IsReadOnly = false; // Show its history ShowHistory("virtual", document); // Ensure it has no pages Debug.Assert(document.Pages.Count == 0); Debug.Assert(document.Documents.Count == 0); // Add some pages // First add the first 2 pages from a PDF file var 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 page var 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 file childDocument = 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 document Debug.Assert(5 == document.Pages.Count); Debug.Assert(2 == document.Documents.Count); // Get each DocumentHistoryItem foreach (DocumentHistoryItem item in document.History.GetItems()) { document.History.SetItems(null); Console.WriteLine(item); } // Enumerate through DocumentHistoryModifyType DocumentHistoryModifyType[] 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 history var loadFromCacheOptions = new LoadFromCacheOptions(); loadFromCacheOptions.Cache = cache; loadFromCacheOptions.DocumentId = documentId; using (var document = DocumentFactory.LoadFromCache(loadFromCacheOptions)) { ShowHistory("virtual pages added", document); // Clear the history document.History.Clear(); } // Now, load the document from the cache using (var document = DocumentFactory.LoadFromCache(loadFromCacheOptions)) { Debug.Assert(5 == document.Pages.Count); Debug.Assert(2 == document.Documents.Count); // Remove some pages document.Pages.RemoveAt(0); document.Pages.RemoveAt(document.Pages.Count - 1); // And rotate another document.Pages[1].Rotate(90); Debug.Assert(3 == document.Pages.Count); Debug.Assert(2 == document.Documents.Count); ShowHistory("virtual pages removed and rotated", document); } // Clean up var 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); } }