←Select platform

DocumentPage Class

Summary

Represents a page in the current LEADDocument.

Syntax
C#
C++/CLI
Java
Python
[DataContractAttribute()] 
public class DocumentPage 
public [DataContractAttribute] 
   ref class DocumentPage 
public class DocumentPage implements Serializable 
class DocumentPage: 
Remarks

DocumentPage represents a page in the current LEADDocument. It can be accessed through the Pages collection.

DocumentPages is populated with an item for each page in the original document. Each DocumentPage will have the value of Size and Resolution initialized to their corresponding value in the document. The other parts of the page are obtained on demand when the user calls the various methods.

Use DocumentPages.CreatePage to create a new page when modifying or creating documents.

The page uses the cache system if available, most of the page data are not kept in memory and is either read from the original document or obtained from the cache on demand. This is done to reduce the memory footprint of LEADDocument and to be able to support document with a large number of pages and data.

DocumentPage has the following features:

Member Description

Size and Resolution

The size in document units and resolution in DPI of the page.

OriginalPageNumber and PageNumber

The page number of the page in the original document (if any) and the current page number in the collection.

GetImage and IsImageModified

Gets and sets a RasterImage of this page.

GetSvg, SetSvg and IsSvgModified

Gets and sets a SvgDocument of this page.

GetSvgBackImage(RasterColor) and IsSvgBackImageModified

Gets and sets the background RasterImage for the SVG image of this page.

GetText and IsTextModified

Gets and sets a DocumentPageText of this page.

GetAnnotations, SetAnnotations and IsAnnotationsModified

Gets and sets an AnnContainer of this page.

GetLinks, SetLinks and IsLinksModified

Gets and sets an array of DocumentLink objects of this page.

Rotate, Flip, Reverse

Rotates, flips or reverses the page.

IsDeleted

Quickly marks a page as deleted to remove it from viewing or conversion.

ReadBarcodes

Reads any barcodes found on the page.

UserData

Any user-defined data that can be associated with the page (and saved to the cache if needed).
Example
C#
Java
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(); 
} 
Requirements

Target Platforms

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

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