Options to use when creating a new document.
function lt.Document.CreateDocumentOptions class lt.Document.CreateDocumentOptions() Used with DocumentFactory.Create to specify the options to use when creating new documents.
For more information on creating documents, refer to DocumentFactory.Create.
import { DocumentHelper } from "../../utilities/DocumentHelper";export class DocumentFactory_CreateExample {public constructor() {lt.RasterSupport.setLicenseUri("https://demo.leadtools.com/licenses/js/LEADTOOLSEVAL.txt", "EVAL", null);DocumentHelper.initFactory();}private urls = ["https://demo.leadtools.com/images/pdf/leadtools.pdf","https://demo.leadtools.com/images/tiff/barcodes.tif"];private childDocs = [];private childDocCount = this.urls.length;private processedCount = 0;private loadedCount = 0;public run = (buttonID: string) => {const exampleButton = document.getElementById(buttonID);exampleButton.onclick = this.loadDocument;}loadDocument = () => {// Load this oneconst index = this.processedCount;const loadOptions = new lt.Document.LoadDocumentOptions();DocumentHelper.log("Loading " + this.urls[index]);lt.Document.DocumentFactory.loadFromUri(this.urls[index], loadOptions).done((childDoc) => {// Finished, save the document and load nextthis.loadedCount++;this.childDocs.push(childDoc);}).fail(DocumentHelper.showServiceError).always(() => {this.processedCount++;if (this.processedCount >= this.childDocCount) {// All children loaded, if we did not have an error continue with the exampleif (this.loadedCount === this.processedCount) {DocumentHelper.log("All documents loaded", this.childDocs);this.createDocument();}}else {this.loadDocument();}});}logDocument = (doc) => DocumentHelper.log("Name: " + doc.name + " Pages: " + doc.pages.count + " Documents: " + doc.documents.count, doc);createDocument = () => {// Create a new documentconst createOptions = new lt.Document.CreateDocumentOptions();const doc = lt.Document.DocumentFactory.create(createOptions);doc.name = "Virtual";// Should have 0 pages and documentsthis.logDocument(doc);// Add page 2 and 3 from the first child document (PDF)let childDoc = this.childDocs[0];doc.pages.add(childDoc.pages.item(2));doc.pages.add(childDoc.pages.item(3));// Add an empty page (8.5 by 11 inches at 300 DPI)const docPage = doc.pages.createPage(lt.LeadSizeD.create(lt.Document.LEADDocument.unitsPerInch * 8.5, lt.Document.LEADDocument.unitsPerInch * 11), 300);doc.pages.add(docPage);// Add page 1 from the second child document (TIFF)childDoc = this.childDocs[1];doc.pages.add(childDoc.pages.item(0));// Should have 4 pages and 2 documents (the PDF and the TIFF)DocumentHelper.log("Pages added");this.logDocument(doc);// Save the ID so we can load itconst documentId = doc.documentId;// Now save this 'parent' document into the cachelt.Document.DocumentFactory.saveToCache(doc).done(() => {DocumentHelper.log("Document saved to cache at " + documentId)// Tell this document to dispose all childrendoc.autoDisposeDocuments = true;// And dispose itdoc.dispose();// Now, re-load this document from the cachelt.Document.DocumentFactory.loadFromCache(documentId).done((doc) => {// Should have 5 pages and 2 documents (the PDF and the TIFF)DocumentHelper.log("Document loaded from cache");this.logDocument(doc);// Delete first pagedoc.pages.removeAt(0);// Delete the last pagedoc.pages.removeAt(doc.pages.count - 1);// Should have 3 pages and 1 document (the PDF only)DocumentHelper.log("After removing first and last pages...");this.logDocument(doc);// Delete this document from the cache// Note: This does not delete the 'children' from the cachelt.Document.DocumentFactory.deleteFromCache(documentId);}).fail(DocumentHelper.showServiceError);}).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);elseconsole.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_CreateExample {constructor() {lt.RasterSupport.setLicenseUri("https://demo.leadtools.com/licenses/js/LEADTOOLSEVAL.txt", "EVAL", null);DocumentHelper.initFactory();}urls = ["https://demo.leadtools.com/images/pdf/leadtools.pdf","https://demo.leadtools.com/images/tiff/barcodes.tif"];childDocs = [];childDocCount = this.urls.length;processedCount = 0;loadedCount = 0;run = (buttonID) => {const exampleButton = document.getElementById(buttonID);exampleButton.onclick = this.loadDocument;}loadDocument = () => {// Load this oneconst index = this.processedCount;const loadOptions = new lt.Document.LoadDocumentOptions();DocumentHelper.log("Loading " + this.urls[index]);lt.Document.DocumentFactory.loadFromUri(this.urls[index], loadOptions).done((childDoc) => {// Finished, save the document and load nextthis.loadedCount++;this.childDocs.push(childDoc);}).fail(DocumentHelper.showServiceError).always(() => {this.processedCount++;if (this.processedCount >= this.childDocCount) {// All children loaded, if we did not have an error continue with the exampleif (this.loadedCount === this.processedCount) {DocumentHelper.log("All documents loaded", this.childDocs);this.createDocument();}}else {this.loadDocument();}});}logDocument = (doc) => DocumentHelper.log("Name: " + doc.name + " Pages: " + doc.pages.count + " Documents: " + doc.documents.count, doc);createDocument = () => {// Create a new documentconst createOptions = new lt.Document.CreateDocumentOptions();const doc = lt.Document.DocumentFactory.create(createOptions);doc.name = "Virtual";// Should have 0 pages and documentsthis.logDocument(doc);// Add page 2 and 3 from the first child document (PDF)let childDoc = this.childDocs[0];doc.pages.add(childDoc.pages.item(2));doc.pages.add(childDoc.pages.item(3));// Add an empty page (8.5 by 11 inches at 300 DPI)const docPage = doc.pages.createPage(lt.LeadSizeD.create(lt.Document.LEADDocument.unitsPerInch * 8.5, lt.Document.LEADDocument.unitsPerInch * 11), 300);doc.pages.add(docPage);// Add page 1 from the second child document (TIFF)childDoc = this.childDocs[1];doc.pages.add(childDoc.pages.item(0));// Should have 4 pages and 2 documents (the PDF and the TIFF)DocumentHelper.log("Pages added");this.logDocument(doc);// Save the ID so we can load itconst documentId = doc.documentId;// Now save this 'parent' document into the cachelt.Document.DocumentFactory.saveToCache(doc).done(() => {DocumentHelper.log("Document saved to cache at " + documentId)// Tell this document to dispose all childrendoc.autoDisposeDocuments = true;// And dispose itdoc.dispose();// Now, re-load this document from the cachelt.Document.DocumentFactory.loadFromCache(documentId).done((doc) => {// Should have 5 pages and 2 documents (the PDF and the TIFF)DocumentHelper.log("Document loaded from cache");this.logDocument(doc);// Delete first pagedoc.pages.removeAt(0);// Delete the last pagedoc.pages.removeAt(doc.pages.count - 1);// Should have 3 pages and 1 document (the PDF only)DocumentHelper.log("After removing first and last pages...");this.logDocument(doc);// Delete this document from the cache// Note: This does not delete the 'children' from the cachelt.Document.DocumentFactory.deleteFromCache(documentId);}).fail(DocumentHelper.showServiceError);}).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);elseconsole.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 | Create</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.Create();example.run("exampleButton");};</script></html>
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
