Parse the structure of this document and read the bookmarks and table of content.
public void Parse() public:void Parse()
public void parse() def Parse(self): Bookmarks will contain an empty list if the structure of the document has not been parsed yet (the value of IsParsed is false). This list will be populated with the items found in the original document when Parse is called and the value of ParseBookmarks is true (the default value). When Parse returns, the value of IsParsed will be set to true.
Parse will also parse the document for any links found in the pages if the value of ParsePageLinks is true (the default value), these can be obtain through the DocumentPage.GetLinks method.
Note that calling this method will propogate down to each child document (if supported).
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";}
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
