lastPageNumber Property

Summary

Number of the last page to be loaded from the document.

Syntax
TypeScript
JavaScript
Object.defineProperty(LoadDocumentOptions.prototype, 'lastPageNumber', 
   get: function(), 
   set: function(value) 
) 
lastPageNumber: number; 

Property Value

The 1-based number of the last page to be converted from the input document. Default value is 0.

Remarks

The factory will automatically uses 1 for FirstPageNumber and -1 (last page) for LastPageNumber if the values are left as the default of 0 or set to -1.

Use FirstPageNumber and LastPageNumber to load a document containing a desired subset of the pages found in the original file. After loading is successful, the document is treated as if contains only the specified number of pages when it is viewed or when it is converted.

When loading succeeds, the document will store the page numbers set in read-only properties OriginalFirstPageNumber and OriginalLastPageNumber (and the original number of pages in OriginalPageCount) accessed through LEADDocument.Pages.

For example, if the factory is loading a PDF document with 10 pages, and FirstPageNumber and LastPageNumber was set to 2 and 5 respectively, then the result document will contain 4 pages (pages 2 through 5) and Pages will have OriginalFirstPageNumber set to 2, OriginalLastPageNumber set to 5 and OriginalPageCount set to 10.

Example
LoadFromUri.ts
DocumentHelper.ts
LoadFromUri.js
DocumentHelper.js
LoadFromUri.html
import { DocumentHelper } from "../../utilities/DocumentHelper"; 
 
export class DocumentFactory_LoadFromUriExample { 
    private imgEle: HTMLElement; 
    public constructor() { 
       lt.RasterSupport.setLicenseUri("https://demo.leadtools.com/licenses/js/LEADTOOLSEVAL.txt", "EVAL", function ( 
          setLicenseResult 
       ) { 
          if (setLicenseResult.result) { 
             console.log("LEADTOOLS client license set successfully"); 
          } else { 
             var msg = "LEADTOOLS License is missing, invalid or expired\nError:\n";  
             alert(msg);  
          } 
       }); 
        DocumentHelper.initFactory(); 
    } 
 
    public run = (buttonID: string, imgID: string) => { 
        document.getElementById(buttonID).onclick = this.loadFromUri; 
        this.imgEle = document.getElementById(imgID); 
    } 
 
    /** 
     * Load a new document from URI 
     */ 
    loadFromUri = () => { 
        const url = "https://demo.leadtools.com/images/pdf/leadtools.pdf"; 
        const loadDocumentOptions = new lt.Document.LoadDocumentOptions(); 
 
        lt.Document.DocumentFactory.loadFromUri(url, loadDocumentOptions) 
            .done((document: lt.Document.LEADDocument) => { 
                DocumentHelper.log("Document loaded with " + document.pages.count + " pages", document); 
 
                // Show the PDF image of the first page 
                const page = document.pages.item(0); 
                (this.imgEle as HTMLImageElement).src = page.getSvgUrl(lt.Document.DocumentGetSvgOptions.none); 
            }) 
            .fail(DocumentHelper.showServiceError); 
    } 
} 
export class DocumentHelper { 
   static showServiceError = (jqXHR, statusText, errorThrown) => { 
      alert("Error returned from service. See the console for details."); 
      const serviceError = lt.Document.ServiceError.parseError(jqXHR, statusText, errorThrown); 
      console.error(serviceError); 
   } 
 
   static log = (message: string, data?: any) => { 
      const outputElement = document.getElementById("output"); 
      if (outputElement) { 
         const time = (new Date()).toLocaleTimeString(); 
         const textElement = document.createElement("p"); 
         textElement.innerHTML = (outputElement.childElementCount + 1) + " [" + time + "]: " + message; 
         outputElement.insertBefore(textElement, outputElement.firstChild); 
      } 
 
      if (!data) 
         console.log(message); 
      else 
         console.log(message, data); 
   } 
 
   static initFactory = () => { 
      // To communicate with the DocumentsService, it must be running! 
      // Change these parameters to match the path to the service. 
      lt.Document.DocumentFactory.serviceHost = "http://localhost:40000"; 
      lt.Document.DocumentFactory.servicePath = ""; 
      lt.Document.DocumentFactory.serviceApiPath = "api"; 
   } 
} 
import { DocumentHelper } from "../../utilities/DocumentHelper"; 
 
export class DocumentFactory_LoadFromUriExample { 
    imgEle; 
    constructor() { 
       lt.RasterSupport.setLicenseUri("https://demo.leadtools.com/licenses/js/LEADTOOLSEVAL.txt", "EVAL", function ( 
          setLicenseResult 
       ) { 
          if (setLicenseResult.result) { 
             console.log("LEADTOOLS client license set successfully"); 
          } else { 
             var msg = "LEADTOOLS License is missing, invalid or expired\nError:\n"; 
             alert(msg); 
          } 
       }); 
        DocumentHelper.initFactory(); 
    } 
 
    run = (buttonID, imgID) => { 
        document.getElementById(buttonID).onclick = this.loadFromUri; 
        this.imgEle = document.getElementById(imgID); 
    } 
 
    /** 
     * Load a new document from URI 
     */ 
    loadFromUri = () => { 
        const url = "https://demo.leadtools.com/images/pdf/leadtools.pdf"; 
        const loadDocumentOptions = new lt.Document.LoadDocumentOptions(); 
 
        lt.Document.DocumentFactory.loadFromUri(url, loadDocumentOptions) 
            .done((document) => { 
                DocumentHelper.log("Document loaded with " + document.pages.count + " pages", document); 
 
                // Show the PDF image of the first page 
                const page = document.pages.item(0); 
                this.imgEle.src = page.getSvgUrl(lt.Document.DocumentGetSvgOptions.none); 
            }) 
            .fail(DocumentHelper.showServiceError); 
    } 
} 
export class DocumentHelper { 
   static showServiceError = (jqXHR, statusText, errorThrown) => { 
      alert("Error returned from service. See the console for details."); 
      const serviceError = lt.Document.ServiceError.parseError(jqXHR, statusText, errorThrown); 
      console.error(serviceError); 
   } 
 
   static log = (message, data) => { 
      const outputElement = document.getElementById("output"); 
      if (outputElement) { 
         const time = (new Date()).toLocaleTimeString(); 
         const textElement = document.createElement("p"); 
         textElement.innerHTML = (outputElement.childElementCount + 1) + " [" + time + "]: " + message; 
         outputElement.insertBefore(textElement, outputElement.firstChild); 
      } 
 
      if (!data) 
         console.log(message); 
      else 
         console.log(message, data); 
   } 
 
   static initFactory = () => { 
      // To communicate with the DocumentsService, it must be running! 
      // Change these parameters to match the path to the service. 
      lt.Document.DocumentFactory.serviceHost = "http://localhost:40000"; 
      lt.Document.DocumentFactory.servicePath = ""; 
      lt.Document.DocumentFactory.serviceApiPath = "api"; 
   } 
} 
<!doctype html> 
<html lang="en"> 
<title>Document Example | LoadFromUri</title> 
 
<head> 
   <script src="https://code.jquery.com/jquery-2.2.4.min.js" 
      integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> 
 
   <script src="../../LT/Leadtools.js"></script> 
   <script src="../../LT/Leadtools.Controls.js"></script> 
   <script src="../../LT/Leadtools.Annotations.Engine.js"></script> 
   <script src="../../LT/Leadtools.Annotations.Designers.js"></script> 
   <script src="../../LT/Leadtools.Annotations.Rendering.Javascript.js"></script> 
   <script src="../../LT/Leadtools.Annotations.Automation.js"></script> 
   <script src="../../LT/Leadtools.ImageProcessing.Main.js"></script> 
   <script src="../../LT/Leadtools.ImageProcessing.Color.js"></script> 
   <script src="../../LT/Leadtools.ImageProcessing.Core.js"></script> 
   <script src="../../LT/Leadtools.ImageProcessing.Effects.js"></script> 
   <script src="../../LT/Leadtools.Document.js"></script> 
   <script src="../../LT/Leadtools.Document.Viewer.js"></script> 
   <link rel="stylesheet" type="text/css" href="../../css/examples.css"> 
 
   <!-- All demo files are bundled and appended to the window --> 
   <script src="../../bundle.js" type="text/javascript"></script> 
</head> 
 
<body> 
   <div> 
      <button type="button" id="exampleButton">Run Example</button> 
   </div> 
   <div id="output"></div> 
   <div> 
      <img id="img" /> 
   </div> 
</body> 
 
<script> 
   window.onload = () => { 
      const example = new window.examples.DocumentFactory.LoadFromUri(); 
      example.run("exampleButton"); 
   }; 
</script> 
</html> 
Requirements

Target Platforms

Help Version 22.0.2023.2.1
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.