documentFormat Property (original) (raw)

Summary

Output format to use for document conversion.

Syntax

Object.defineProperty(StatusJobData.prototype, 'documentFormat', get: function() )

Property Value

The output format to use for document conversion. Default value is DocumentFormat.user.

Example

StatusJobDataRunner.ts

DocumentHelper.ts

StatusJobDataRunner.js

DocumentHelper.js

StatusJobDataRunner.html

import { DocumentHelper } from "../../utilities/DocumentHelper"; export class StatusJobDataRunner_Example { private el: HTMLElement; 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.convert; } convert = () => { // We will be converting this TIFF file to PDF const imageUrl = "https://demo.leadtools.com/images/tiff/ocr.tif"; const loadDocumentOptions = new lt.Document.LoadDocumentOptions(); DocumentHelper.log("Loading document..."); // Load the source document and save it to the cache lt.Document.DocumentFactory.loadFromUri(imageUrl, loadDocumentOptions) .done((doc) => { DocumentHelper.log("Saving document to cache..."); lt.Document.DocumentFactory.saveToCache(doc) .done(() => { let userToken = null; let jobToken = null; let minWaitFromResponse = 2000; let minWaitFromRequest = 3000; let requestTime = -1; let responseTime = -1; let runQuery = null; // Document is the cache, create the job data and set its options const jobData = new lt.Document.DocumentConverterJobData(); jobData.documentFormat = lt.Document.Writer.DocumentFormat.pdf; // Convert const convertJobPromise = lt.Document.Converter.StatusJobDataRunner.runConvertJob(doc.documentId, jobData) .done((convertJobResult) => { // convertJobResult is of type lt.Document.Converter.StatusJobDataRunner.RunConvertJobResult // Get the user and job token userToken = convertJobResult.userToken; jobToken = convertJobResult.jobToken; // Create the function to call when the job is done const queryDone = (statusJobData) => { // statusJobData is of type lt.Document.Converter.StatusJobData // Check for errors if (statusJobData.errorMessages && statusJobData.errorMessages.length) { const messages = [ "The conversion job encountered an error:", statusJobData.errorMessages[0], "Check the console for more information." ]; alert(messages.join("\n")); return; } else if (statusJobData.isCompleted) { // Completed successfully // Delete the job lt.Document.Converter.StatusJobDataRunner.deleteConvertJob(userToken, jobToken) .always(() => { // Success, load the document DocumentHelper.log("Finished loading result document..."); lt.Document.DocumentFactory.loadFromUri(statusJobData.outputDocumentUri, loadDocumentOptions) .done((resultDoc) => { const resultDocument = resultDoc.cacheUri; const link = document.createElement("a"); const url = resultDocument; link.href = url; link.innerHTML = url; link.target = "_default"; DocumentHelper.log("Converted: " + url, url); }) .fail(DocumentHelper.showServiceError); }); return; } DocumentHelper.log("Converting " + statusJobData.jobStatusMessage + "..."); // Keep querying runQuery(Date.now()); }; runQuery = (responseTime) => { const now = Date.now(); if (requestTime !== -1) { const timeSinceRequest = now - requestTime; const timeSinceResponse = now - responseTime; // If we haven't waited the minimum since the response and haven't waited the maximum since the request, wait if (timeSinceResponse < minWaitFromResponse || timeSinceRequest < minWaitFromRequest) { const waitTime = Math.max(minWaitFromResponse - timeSinceResponse, minWaitFromRequest - timeSinceRequest); window.setTimeout(() => { runQuery(responseTime); }, waitTime); return; } } lt.Document.Converter.StatusJobDataRunner.queryConvertJobStatus(userToken, jobToken) .done(queryDone) .fail(DocumentHelper.showServiceError); requestTime = Date.now(); return; } runQuery(Date.now()); }) .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 StatusJobDataRunner_Example { el; constructor() { lt.RasterSupport.setLicenseUri("https://demo.leadtools.com/licenses/js/LEADTOOLSEVAL.txt", "EVAL", null); DocumentHelper.initFactory(); } run(buttonID) { document.getElementById(buttonID).onclick = this.convert; } convert = () => { // We will be converting this TIFF file to PDF const imageUrl = "https://demo.leadtools.com/images/tiff/ocr.tif"; const loadDocumentOptions = new lt.Document.LoadDocumentOptions(); DocumentHelper.log("Loading document..."); // Load the source document and save it to the cache lt.Document.DocumentFactory.loadFromUri(imageUrl, loadDocumentOptions) .done((doc) => { DocumentHelper.log("Saving document to cache..."); lt.Document.DocumentFactory.saveToCache(doc) .done(() => { let userToken = null; let jobToken = null; let minWaitFromResponse = 2000; let minWaitFromRequest = 3000; let requestTime = -1; let responseTime = -1; let runQuery = null; // Document is the cache, create the job data and set its options const jobData = new lt.Document.DocumentConverterJobData(); jobData.documentFormat = lt.Document.Writer.DocumentFormat.pdf; // Convert const convertJobPromise = lt.Document.Converter.StatusJobDataRunner.runConvertJob(doc.documentId, jobData) .done((convertJobResult) => { // convertJobResult is of type lt.Document.Converter.StatusJobDataRunner.RunConvertJobResult // Get the user and job token userToken = convertJobResult.userToken; jobToken = convertJobResult.jobToken; // Create the function to call when the job is done const queryDone = (statusJobData) => { // statusJobData is of type lt.Document.Converter.StatusJobData // Check for errors if (statusJobData.errorMessages && statusJobData.errorMessages.length) { const messages = [ "The conversion job encountered an error:", statusJobData.errorMessages[0], "Check the console for more information." ]; alert(messages.join("\n")); return; } else if (statusJobData.isCompleted) { // Completed successfully // Delete the job lt.Document.Converter.StatusJobDataRunner.deleteConvertJob(userToken, jobToken) .always(() => { // Success, load the document DocumentHelper.log("Finished loading result document..."); lt.Document.DocumentFactory.loadFromUri(statusJobData.outputDocumentUri, loadDocumentOptions) .done((resultDoc) => { const resultDocument = resultDoc.cacheUri; const link = document.createElement("a"); const url = resultDocument; link.href = url; link.innerHTML = url; link.target = "_default"; DocumentHelper.log("Converted: " + url, url); }) .fail(DocumentHelper.showServiceError); }); return; } DocumentHelper.log("Converting " + statusJobData.jobStatusMessage + "..."); // Keep querying runQuery(Date.now()); }; runQuery = (responseTime) => { const now = Date.now(); if (requestTime !== -1) { const timeSinceRequest = now - requestTime; const timeSinceResponse = now - responseTime; // If we haven't waited the minimum since the response and haven't waited the maximum since the request, wait if (timeSinceResponse < minWaitFromResponse || timeSinceRequest < minWaitFromRequest) { const waitTime = Math.max(minWaitFromResponse - timeSinceResponse, minWaitFromRequest - timeSinceRequest); window.setTimeout(() => { runQuery(responseTime); }, waitTime); return; } } lt.Document.Converter.StatusJobDataRunner.queryConvertJobStatus(userToken, jobToken) .done(queryDone) .fail(DocumentHelper.showServiceError); requestTime = Date.now(); return; } runQuery(Date.now()); }) .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 | StatusJobDataRunner</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.StatusJobDataRunner(); example.run("exampleButton"); }; </script> </html>