←Select platform

Documents Property

Summary

Object that manages the children of this document.

Syntax
C#
C++/CLI
Java
Python
public DocumentDocuments Documents { get; } 
public:  
   property DocumentDocuments^ Documents 
   { 
      DocumentDocuments^ get() 
   } 
public DocumentDocuments getDocuments() 
Documents # get  (LEADDocument) 

Property Value

The DocumentDocuments object that manages the children of this LEADDocument.

Remarks

DocumentDocuments derives from LeadCollection<T> and this can implement System.Collections.ObjectModel.Collection. You can use any of the collection methods to iterate through the documents. This collection is read-only however and you cannot add, remove or change the items. Instead, use Pages to add or remove pages that belong to a separate document to this one. The LEADDocument.Documents collection will automatically gets updated to reflect what child documents are currently held in the document.

Example
C#
using Leadtools; 
using Leadtools.Caching; 
using Leadtools.Document; 
 
 
public void DocumentFactoryCreateExample() 
{ 
   var cache = GetCache(); 
 
   // Create a new document 
   var createOptions = new CreateDocumentOptions(); 
   createOptions.Cache = cache; 
   createOptions.Descriptor = null; 
   createOptions.MimeType = null; 
   createOptions.UseCache = true; 
   createOptions.UserId = null; 
 
   Console.WriteLine("Cache Policy: {0}", createOptions.CachePolicy.AbsoluteExpiration); 
 
   string documentId = null; 
 
   using (LEADDocument document = DocumentFactory.Create(createOptions)) 
   { 
      document.Name = "Virtual"; 
 
      // Should have 0 pages and documents 
      System.Diagnostics.Debug.Assert(document.Pages.Count == 0); 
      System.Diagnostics.Debug.Assert(document.Documents.Count == 0); // DocumentDocuments reference 
 
      // Add page 1 and 2 from a PDF file 
      LoadDocumentOptions loadOptions = new LoadDocumentOptions(); 
      loadOptions.Cache = cache; 
      LEADDocument childDocument = DocumentFactory.LoadFromFile(Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf"), loadOptions); 
      // Do not dispose the child documents, but save it into the cache 
      // This is optional and is done in this example since we will try to re-load the parent document 
      // from the cache - and the child documents should be in the cache as well 
      childDocument.SaveToCache(); 
      // Now add the pages 
      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 page 3 and 4 from a TIF file 
      childDocument = DocumentFactory.LoadFromFile(Path.Combine(LEAD_VARS.ImagesDir, "ocr1.tif"), loadOptions); 
      // Also save it into the cache 
      childDocument.SaveToCache(); 
      // Now add the pages 
      document.Pages.Add(childDocument.Pages[0]); 
      document.Pages.Add(childDocument.Pages[0]); 
 
      // Should have 5 pages and 2 documents (the PDF and the TIF) 
      System.Diagnostics.Debug.Assert(document.Pages.Count == 5); 
      System.Diagnostics.Debug.Assert(document.Documents.Count == 2); 
 
      // Tell the parent document to dispose any child documents when the parent is disposed 
      document.AutoDisposeDocuments = true; 
 
      // Show the info of this document, should say 5 pages 
      Console.WriteLine("Original document information"); 
      PrintOutDocumentInfo(document); 
 
      // Now save, the parent document into the cache 
      document.SaveToCache(); 
 
      // And tell all documents to not delete themselves from the cache 
      document.AutoDeleteFromCache = false; 
 
      // Save the ID so we can load it 
      documentId = document.DocumentId; 
   } 
 
   // Now, load the document from the cache 
   var loadFromCacheOptions = new LoadFromCacheOptions(); 
   loadFromCacheOptions.Cache = cache; 
   loadFromCacheOptions.DocumentId = documentId; 
   using (LEADDocument document = DocumentFactory.LoadFromCache(loadFromCacheOptions)) 
   { 
      // Should have 5 pages and 2 documents (the PDF and the TIF) 
      System.Diagnostics.Debug.Assert(document.Pages.Count == 5); 
      System.Diagnostics.Debug.Assert(document.Documents.Count == 2); 
 
      // Show the info of this document, should still say 5 pages 
      Console.WriteLine("Loaded from cache information"); 
      PrintOutDocumentInfo(document); 
 
      // Delete first page 
      document.Pages.RemoveAt(0); 
      // Delete the last page 
      document.Pages.RemoveAt(document.Pages.Count - 1); 
 
      // Should have 3 pages and 2 documents (the PDF and the TIF) 
      System.Diagnostics.Debug.Assert(document.Pages.Count == 3); 
      System.Diagnostics.Debug.Assert(document.Documents.Count == 2); 
 
      Console.WriteLine("After removing the first 2 pages"); 
      PrintOutDocumentInfo(document); 
 
      // Delete this document and all its children from the cache when we are disposed 
      document.AutoDeleteFromCache = true; 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.4.21
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Document Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.