The ID to be used with the loaded document.
Object.defineProperty(UploadDocumentOptions.prototype, 'documentId',
get: function(),
set: function(value)
)
documentId: string;
String that specifies the ID to be used with the loaded document. The default value is null.
When the value of documentId is null (the default), then the document factory creates a new unique ID using a GUID generator. If the value is not null, then it is assumed to be a user-defined ID and used as is. In either case, the value is set in the LEADDocument.documentId property of the newly created document.
User-defined IDs can be used when the system already has unique IDs associated with the documents to be viewed. The document factory will neither check nor guarantee the uniqueness of these IDs.
Refer to Uploading Using the Document Library for detailed information.
import { DocumentHelper } from "../../utilities/DocumentHelper";
export class DocumentFactory_UploadDocumentExample {
public constructor() {
lt.RasterSupport.setLicenseUri("https://demo.leadtools.com/licenses/js/LEADTOOLSEVAL.txt", "EVAL", null);
DocumentHelper.initFactory();
}
public run = (buttonID: string) => {
document.getElementById(buttonID).onclick = this.onClick;
}
onClick = () => {
//Load the initial document
const url = "https://demo.leadtools.com/images/pdf/leadtools.pdf";
this.loadDocument(url, true);
}
loadDocument = (url: string, downloadAfterLoad: boolean) => {
DocumentHelper.log("Loading document " + url);
lt.Document.DocumentFactory.loadFromUri(url, new lt.Document.LoadDocumentOptions())
.done((doc) => {
DocumentHelper.log("Document loaded and has cache id: " + doc.documentId);
if (downloadAfterLoad) {
this.afterLoadDocument(doc);
}
})
.fail(DocumentHelper.showServiceError);
}
afterLoadDocument = (doc: lt.Document.LEADDocument) => {
// Download its data
lt.Document.DocumentFactory.downloadDocumentData(doc.documentId, null, false)
.done((result) => {
DocumentHelper.log("Finished downloading, mime type: " + result.mimeType + " data length: " + result.data.byteLength);
// Upload the data to a different document
this.uploadDocument(result.data);
})
.fail(DocumentHelper.showServiceError);
}
uploadDocument = (data: ArrayBuffer) => {
// Start the data
const uploadDocumentOptions = new lt.Document.UploadDocumentOptions();
// If we have the total size of the document set it.
// This will help optimize the upload process on the service
uploadDocumentOptions.documentDataLength = data.byteLength;
lt.Document.DocumentFactory.beginUploadDocument(uploadDocumentOptions)
.done((uploadUri) => {
// Upload the data
lt.Document.DocumentFactory.uploadDocument(uploadUri, data, 0, data.byteLength)
.done(() => {
// Finish it
lt.Document.DocumentFactory.endUpload(uploadUri)
.done(() => {
// Load it and check
this.loadDocument(uploadUri, false);
})
.fail(DocumentHelper.showServiceError);
})
.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);
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_UploadDocumentExample {
constructor() {
lt.RasterSupport.setLicenseUri("https://demo.leadtools.com/licenses/js/LEADTOOLSEVAL.txt", "EVAL", null);
DocumentHelper.initFactory();
}
run = (buttonID) => {
document.getElementById(buttonID).onclick = this.onClick;
}
onClick = () => {
//Load the initial document
const url = "https://demo.leadtools.com/images/pdf/leadtools.pdf";
this.loadDocument(url, true);
}
loadDocument = (url, downloadAfterLoad) => {
DocumentHelper.log("Loading document " + url);
lt.Document.DocumentFactory.loadFromUri(url, new lt.Document.LoadDocumentOptions())
.done((doc) => {
DocumentHelper.log("Document loaded and has cache id: " + doc.documentId);
if (downloadAfterLoad) {
this.afterLoadDocument(doc);
}
})
.fail(DocumentHelper.showServiceError);
}
afterLoadDocument = (doc) => {
// Download its data
lt.Document.DocumentFactory.downloadDocumentData(doc.documentId, null, false)
.done((result) => {
DocumentHelper.log("Finished downloading, mime type: " + result.mimeType + " data length: " + result.data.byteLength);
// Upload the data to a different document
this.uploadDocument(result.data);
})
.fail(DocumentHelper.showServiceError);
}
uploadDocument = (data) => {
// Start the data
const uploadDocumentOptions = new lt.Document.UploadDocumentOptions();
// If we have the total size of the document set it.
// This will help optimize the upload process on the service
uploadDocumentOptions.documentDataLength = data.byteLength;
lt.Document.DocumentFactory.beginUploadDocument(uploadDocumentOptions)
.done((uploadUri) => {
// Upload the data
lt.Document.DocumentFactory.uploadDocument(uploadUri, data, 0, data.byteLength)
.done(() => {
// Finish it
lt.Document.DocumentFactory.endUpload(uploadUri)
.done(() => {
// Load it and check
this.loadDocument(uploadUri, false);
})
.fail(DocumentHelper.showServiceError);
})
.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);
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 | UploadDocument</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.UploadDocument();
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