Object that manages the structure and table of content of the document.
public DocumentStructure Structure { get; }
public:
property DocumentStructure^ Structure
{
DocumentStructure^ get()
}
public DocumentStructure getStructure()
Structure # get (LEADDocument)
The DocumentStructure object that manages the structure and table of content of this LEADDocument.
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.
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:\LEADTOOLS23\Resources\Images";
}
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Calendar;
import org.junit.*;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import static org.junit.Assert.*;
import leadtools.*;
import leadtools.caching.*;
import leadtools.document.*;
public void documentExample() throws InterruptedException, IOException {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
FileCache cache = getCache();
CacheItemPolicy policy = new CacheItemPolicy();
Calendar nowPlus = Calendar.getInstance();
nowPlus.add(Calendar.SECOND, 1);
policy.setAbsoluteExpiration(nowPlus.getTime());
policy.setSlidingExpiration(1);
LoadDocumentOptions options = new LoadDocumentOptions();
options.setCachePolicy(policy);
options.setCache(cache);
if (options.getCache() == null) {
options.setCache(DocumentFactory.getCache());
}
LEADDocument document = DocumentFactory.loadFromFile(combine(LEAD_VARS_IMAGES_DIR, "Leadtools.pdf"), options);
document.getDocumentFileName();
document.setReadOnly(false);
document.setAutoDeleteFromCache(false);
// DocumentImages reference
document.getImages().setDefaultBitsPerPixel(24);
System.out.println(document.getImages().isResolutionsSupported());
System.out.println(document.getImages().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
System.out.println(document.hasCache());
// Indicate if the document was downloaded
System.out.println(document.isDownloaded());
// Gets a value that determines whether the document structure is supported
System.out.println(document.isStructureSupported());
// Output metadata values (DocumentMetadata reference)
System.out.println(document.getMetadata().values().size());
// Get the Mime type of the document
System.out.println(document.getMimeType());
// Parse document structure data (DocumentStructure reference)
for (DocumentBookmark bookmark : document.getStructure().getBookmarks()) {
bookmark.setTitle(null);
bookmark.setFontStyles(DocumentFontStyles.NORMAL);
document.getStructure().getBookmarks().add(bookmark);
System.out.println(bookmark.getChildren());
System.out.println(bookmark.getTarget());
System.out.println(document.getStructure().getBookmarks().size());
System.out.println(document.getStructure().isParsed());
System.out.println(document.getStructure().getParseBookmarks());
}
document.getStructure().parse();
// Get the document URI
System.out.println(document.getUri());
// Get each DocumentPage object (DocumentPage & DocumentPages reference)
document.setCacheOptions(document.getCacheOptions());
for (DocumentPage page : document.getPages()) {
assertTrue(document != null);
System.out.println("Document created successfully");
// 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.setLinkedModified(false);
page.setResolution(0);
page.setViewPerspective(RasterViewPerspective.TOP_LEFT);
page.setLinks(page.getLinks());
System.out.println("Page Number: " + page.getPageNumber() + ", Original PageNumber: "
+ page.getOriginalPageNumber() + ", Size of the page: " + page.getSize() + "");
}
printOutDocumentInfo(document);
document.saveToCache();
document.dispose();
}
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