←Select platform

Structure Property

Summary

Object that manages the structure and table of content of the document.

Syntax
C#
C++/CLI
Java
Python
public DocumentStructure Structure { get; } 
public:  
   property DocumentStructure^ Structure 
   { 
      DocumentStructure^ get() 
   } 
public DocumentStructure getStructure() 
Structure # get  (LEADDocument) 

Property Value

The DocumentStructure object that manages the structure and table of content of this LEADDocument.

Remarks

The value of Structure is null and cannot be used if IsStructureSupported is false.

The document structure is not populated automatically and must be parsed by the user. Refer to DocumentStructure for more information.

Example
C#
using Leadtools; 
using Leadtools.Caching; 
using Leadtools.Document; 
 
 
public void DocumentExample() 
{ 
   var cache = GetCache(); 
 
   var policy = new CacheItemPolicy(); 
   policy.AbsoluteExpiration = DateTime.Now + new TimeSpan(0, 0, 1); 
   policy.SlidingExpiration = new TimeSpan(0, 0, 1); 
 
   var options = new LoadDocumentOptions(); 
   options.CachePolicy = policy; 
   options.Cache = cache; 
 
   if(options.Cache == null) 
   { 
      options.Cache = DocumentFactory.Cache; 
   } 
 
   string documentId = null; 
 
   using (var document = DocumentFactory.LoadFromFile(Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf"), options)) 
   { 
      document.GetDocumentFileName(); 
      document.IsReadOnly = false; 
      document.AutoDeleteFromCache = false; 
      // DocumentImages reference 
      document.Images.DefaultBitsPerPixel = 24; 
 
      Console.WriteLine(document.Images.IsResolutionsSupported); 
      Console.WriteLine(document.Images.IsSvgSupported); 
 
      // Check if the document has a stream in memory 
      if (document.HasStream) 
      { 
         // Get the document stream 
         document.GetDocumentStream(); 
      } 
 
      // Indicate whether the document is using the cache or not 
      Console.WriteLine(document.HasCache); 
             
      //Indicate if the document was downloaded 
      Console.WriteLine(document.IsDownloaded); 
 
      // Gets a value that determines whether the document structure is supported 
      Console.WriteLine(document.IsStructureSupported); 
 
      // Output metadata values (DocumentMetadata reference) 
      Console.WriteLine(document.Metadata.Values.Count); 
 
      // Get the Mime type of the document 
      Console.WriteLine(document.MimeType); 
 
      // Parse document structure data (DocumentStructure reference) 
      foreach(DocumentBookmark bookmark in document.Structure.Bookmarks) 
      { 
         bookmark.Title = null; 
         bookmark.FontStyles = DocumentFontStyles.Normal; 
         document.Structure.Bookmarks.Add(bookmark); 
         Console.WriteLine(bookmark.Children); 
         Console.WriteLine(bookmark.Target); 
         Console.WriteLine(document.Structure.Bookmarks.Count); 
         Console.WriteLine(document.Structure.IsParsed); 
         Console.WriteLine(document.Structure.ParseBookmarks); 
      } 
 
      document.Structure.Parse(); 
 
      // Get the document URI 
      Console.WriteLine(document.Uri); 
 
      // Get each DocumentPage object (DocumentPage & DocumentPages reference) 
      foreach (DocumentPage page in document.Pages) 
      { 
         // Get the page as a raster image at the specified resolution 
         page.GetImage(0); 
         // Get the page as an Svg with specified options 
         page.GetSvg(null); 
         // Flip this page horizontally 
         page.Reverse(); 
         // Use this method to add an array of links for this page 
         page.SetLinks(null); 
         page.IsLinksModified = false; 
         page.Resolution = 0; 
         page.ViewPerspective = RasterViewPerspective.TopLeft; 
         page.SetLinks(page.GetLinks()); 
         Console.WriteLine($"Page Number: {page.PageNumber}, Original PageNumber: {page.OriginalPageNumber}, Size of the page: {page.Size}"); 
      } 
 
      PrintOutDocumentInfo(document); 
 
      documentId = document.DocumentId; 
      document.SaveToCache(); 
   } 
 
   System.Threading.Thread.Sleep(2000); 
 
   var loadFromCacheOptions = new LoadFromCacheOptions(); 
   loadFromCacheOptions.Cache = cache; 
   loadFromCacheOptions.DocumentId = documentId; 
   using (var document = DocumentFactory.LoadFromCache(loadFromCacheOptions)) 
   { 
      if (null == document) 
      { 
         Console.WriteLine("Cached document was expired and deleted!"); 
      } 
   } 
} 
 
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.