Represents a collection of DocumentPage objects.
[CollectionDataContractAttribute()]public class DocumentPages : LeadCollection<DocumentPage>
DocumentPages manages the pages of the document. It can be accessed through the Pages property of LEADDocument.
DocumentPages derives from LeadCollection<T> and thus can implement [System.Collections.ObjectModel.Collection1](https://msdn.microsoft.com/en-us/library/System.Collections.ObjectModel.Collection1.aspx). You can use any
of the collection methods to add, remove, insert, get, set and iterate through the pages.
As well as the collection support, DocumentPages has the following:
CreatePage: The only way supported for creating new DocumentPage objects since the constructor of this class is not accessible.
DefaultPageSize: The default size of pages with no images.
DefaultResolution: The default resolution (DPI) of new pages with no images.
DocumentPage instances that belong to a source document can be added to a target (virtual) document at will. This allows the user to create a document that contain pages from various other documents in any order or number desired. When such pages are added to or removed from a DocumentPages collection, the DocumentDocuments collection in the target document will be updated to contain all the various child (source) documents owning the source pages.
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 referencedocument.Images.DefaultBitsPerPixel = 24;Console.WriteLine(document.Images.IsResolutionsSupported);Console.WriteLine(document.Images.IsSvgSupported);// Check if the document has a stream in memoryif (document.HasStream){// Get the document streamdocument.GetDocumentStream();}// Indicate whether the document is using the cache or notConsole.WriteLine(document.HasCache);//Indicate if the document was downloadedConsole.WriteLine(document.IsDownloaded);// Gets a value that determines whether the document structure is supportedConsole.WriteLine(document.IsStructureSupported);// Output metadata values (DocumentMetadata reference)Console.WriteLine(document.Metadata.Values.Count);// Get the Mime type of the documentConsole.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 URIConsole.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 resolutionpage.GetImage(0);// Get the page as an Svg with specified optionspage.GetSvg(null);// Flip this page horizontallypage.Reverse();// Use this method to add an array of links for this pagepage.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";}