Provides support for loading LEADDocument objects as well as managing the global settings used by the Document library.
function lt.Document.DocumentFactory
class lt.Document.DocumentFactory()
The main class used for the LEADTOOLS Document class library is LEADDocument, which abstracts the internal implementation to provide unified properties and methods to access the internal document. Users can create a new document to load existing from memory, disk file or a URL.
Documents cannot be created directly, instead, use the static DocumentFactory methods to obtain a LEADDocument instance as follows:
Member | Description |
---|---|
Loads a document from existing data stored in a remote URL. |
|
Loads a previously saved document from the cache. |
In addition to the above, DocumentFactory contains the following functionality:
Member | Description |
---|---|
Creates a new empty document. |
|
Saves a document to the cache. |
|
Deletes a previously saved document from the cache. |
|
Retrieves information for a document in the cache. |
|
BeginUpload, UploadDocument, UploadDocumentBlob, EndUpload and AbortUploadDocument |
Uploads raw data or JavaScript Blob a document in chunks to the cache system used by the service. |
Uploads a JavaScript |
|
Downloads the document data from the cache. |
|
Event that occurs before any request is made by the factory to the server to allow the user to examine or modify the parameters passed. |
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>
Loading Using LEADTOOLS Document Library
Creating Documents with LEADTOOLS Document Library
Document Library Coordinate System
Loading Encrypted Files Using the Document Library
Parsing Text with the Document Library
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