在这个话题▼< / div >< div id ="inThisTopicDialog" class="hide">

StatusJobDataRunner对象

总结< / div >

运行一个转换状态更新的工作。

语法< / div >< div id ="mainSourceContainerSyntax">
打印稿< / div >
JavaScript< / div >< / div >
函数lt.Document.Converter.StatusJobDataRunner
lt.Document.Converter.StatusJobDataRunner ()
讲话< / div >

StatusJobData是使用StatusJobDataRunner:

  • 转换文档在缓存中并自动上传。
  • 执行操作在一个单独的进程(如果缓存允许多个进程访问相同的值)。
  • 使用缓存来保存和获得的状态转换。

StatusJobData可以只使用简单的字符串参数初始化。因此,应用程序可以运行工作从一个进程和线程中执行上述状态查询一个完全独立的过程。

工作状态文档转换器

例子< / div >

这个例子将TIFF文件转换为PDF。

从的例子开始LEADDocument和替换里面的所有代码示例函数(搜索“/ / TODO:添加示例代码”评论)使用以下代码:

StatusJobDataRunner.ts< / div >
DocumentHelper.ts< / div >
StatusJobDataRunner.js< / div >
DocumentHelper.js< / div >
StatusJobDataRunner.html< / div >< / div >< div id ="GenericContainerEntry2396" class="GenericContainerEntry">
进口{DocumentHelper}从“. . / . . /工具/ DocumentHelper”;出口StatusJobDataRunner_Example {私人艾尔:HTMLElement;公共构造函数(){lt.RasterSupport.setLicenseUri (“https://demo.leadtools.com/licenses/v200/LEADTOOLSEVAL.txt”,“EVAL”,);DocumentHelper.initFactory ();}公共运行(buttonID:字符串){. getelementbyid (buttonID)。onclick =.convert;}=()= >{转换/ /我们会将这个TIFF文件转换为PDF常量imageUrl =“https://demo.leadtools.com/images/tiff/ocr.tif”;常量loadDocumentOptions =lt.Document.LoadDocumentOptions ();DocumentHelper.log (“加载文件……”);/ /加载源文档并将其保存到缓存lt.Document.DocumentFactory。loadFromUri (imageUrl loadDocumentOptions).done ((doc) = > {DocumentHelper.log (“文档保存到缓存……”);lt.Document.DocumentFactory.saveToCache (doc).done (() = > {让userToken =;让jobToken =;让minWaitFromResponse = 2000;让minWaitFromRequest = 3000;让requestTime = 1;让responseTime = 1;让runQuery =;/ /缓存文档,创建工作数据和设置的选项常量jobData =lt.Document.DocumentConverterJobData ();jobData。documentFormat = lt.Document.Writer.DocumentFormat.pdf;/ /转换常量convertJobPromise = lt.Document.Converter.StatusJobDataRunner.runConvertJob (doc.documentId jobData).done ((convertJobResult) = > {/ / convertJobResult lt.Document.Converter.StatusJobDataRunner.RunConvertJobResult型/ /获取用户和工作牌userToken = convertJobResult.userToken;jobToken = convertJobResult.jobToken;/ /创建一个函数来调用当工作完成常量queryDone = (statusJobData) = > {/ / statusJobData lt.Document.Converter.StatusJobData型/ /检查错误如果(statusJobData。errormessage & & statusJobData.errorMessages.length) {常量消息= [“转换工作遇到一个错误:“,statusJobData.errorMessages [0],“检查控制台的更多信息。”];警报(messages.join (“\ n”));返回;}其他的如果(statusJobData.isCompleted) {/ /成功完成/ /删除工作lt.Document.Converter.StatusJobDataRunner.deleteConvertJob (userToken jobToken)故事里(()= > {/ /成功,加载文档DocumentHelper.log (“完成加载结果文档……”);lt.Document.DocumentFactory.loadFromUri (statusJobData。outputDocumentUri loadDocumentOptions).done ((resultDoc) = > {常量resultDocument = resultDoc.cacheUri;常量链接= document.createElement (“一个”);常量url = resultDocument;链接。href = url;链接。innerHTML = url;链接。目标=“_default”;DocumentHelper.log (转换:“+网址,网址);})fail (DocumentHelper.showServiceError);});返回;}DocumentHelper.log (“转换”+ statusJobData。jobStatusMessage +“…”);/ /继续查询runQuery (Date.now ());};runQuery = (responseTime) = > {常量现在= Date.now ();如果(requestTime ! = = 1) {常量现在timeSinceRequest = - requestTime;常量现在timeSinceResponse = - responseTime;/ /如果我们没有等待以来的最低响应和没有等待以来的最大请求,等待如果(timeSinceResponse < minWaitFromResponse | | timeSinceRequest < minWaitFromRequest) {常量waitTime =数学。max (minWaitFromResponse——timeSinceResponse minWaitFromRequest - timeSinceRequest);window.setTimeout (() = > {runQuery (responseTime);},waitTime);返回;}}lt.Document.Converter.StatusJobDataRunner。queryConvertJobStatus (userToken jobToken).done (queryDone)fail (DocumentHelper.showServiceError);requestTime = Date.now ();返回;}runQuery (Date.now ());})fail (DocumentHelper.showServiceError);})fail (DocumentHelper.showServiceError);})fail (DocumentHelper.showServiceError);}}
出口DocumentHelper {静态showServiceError = (jqXHR statusText errorThrown) = > {alert (“从服务返回错误。有关详细信息,请参阅控制台”。);常量serviceError = lt.Document.ServiceError。parseError (jqXHR statusText errorThrown);console.error (serviceError);}静态日志=(信息:字符串、数据吗?任何)= > {常量outputElement = . getelementbyid (“输出”);如果(outputElement) {常量时间= (日期()).toLocaleTimeString ();常量textElement = document.createElement (“p”);textElement。innerHTML = (outputElement。childElementCount + 1) +“(”+时间+“:”+消息;outputElement。方法(textElement outputElement.firstChild);}如果数据(!)console.log(消息);其他的控制台。日志(消息、数据);}静态initFactory = () = > {/ /与DocumentsService通信,它必须运行!/ /更改这些参数匹配服务的路径。lt.Document.DocumentFactory。serviceHost =“http://localhost: 40000”;lt.Document.DocumentFactory。servicePath =”“;lt.Document.DocumentFactory。serviceApiPath =“api”;}}
进口{DocumentHelper}从“. . / . . /工具/ DocumentHelper”;出口StatusJobDataRunner_Example {埃尔;构造函数(){lt.RasterSupport.setLicenseUri (“https://demo.leadtools.com/licenses/v200/LEADTOOLSEVAL.txt”,“EVAL”,);DocumentHelper.initFactory ();}运行(buttonID) {. getelementbyid (buttonID)。onclick =.convert;}=()= >{转换/ /我们会将这个TIFF文件转换为PDF常量imageUrl =“https://demo.leadtools.com/images/tiff/ocr.tif”;常量loadDocumentOptions =lt.Document.LoadDocumentOptions ();DocumentHelper.log (“加载文件……”);/ /加载源文档并将其保存到缓存lt.Document.DocumentFactory。loadFromUri (imageUrl loadDocumentOptions).done ((doc) = > {DocumentHelper.log (“文档保存到缓存……”);lt.Document.DocumentFactory.saveToCache (doc).done (() = > {让userToken =;让jobToken =;让minWaitFromResponse = 2000;让minWaitFromRequest = 3000;让requestTime = 1;让responseTime = 1;让runQuery =;/ /缓存文档,创建工作数据和设置的选项常量jobData =lt.Document.DocumentConverterJobData ();jobData。documentFormat = lt.Document.Writer.DocumentFormat.pdf;/ /转换常量convertJobPromise = lt.Document.Converter.StatusJobDataRunner.runConvertJob (doc.documentId jobData).done ((convertJobResult) = > {/ / convertJobResult lt.Document.Converter.StatusJobDataRunner.RunConvertJobResult型/ /获取用户和工作牌userToken = convertJobResult.userToken;jobToken = convertJobResult.jobToken;/ /创建一个函数来调用当工作完成常量queryDone = (statusJobData) = > {/ / statusJobData lt.Document.Converter.StatusJobData型/ /检查错误如果(statusJobData。errormessage & & statusJobData.errorMessages.length) {常量消息= [“转换工作遇到一个错误:“,statusJobData.errorMessages [0],“检查控制台的更多信息。”];警报(messages.join (“\ n”));返回;}其他的如果(statusJobData.isCompleted) {/ /成功完成/ /删除工作lt.Document.Converter.StatusJobDataRunner.deleteConvertJob (userToken jobToken)故事里(()= > {/ /成功,加载文档DocumentHelper.log (“完成加载结果文档……”);lt.Document.DocumentFactory.loadFromUri (statusJobData。outputDocumentUri loadDocumentOptions).done ((resultDoc) = > {常量resultDocument = resultDoc.cacheUri;常量链接= document.createElement (“一个”);常量url = resultDocument;链接。href = url;链接。innerHTML = url;链接。目标=“_default”;DocumentHelper.log (转换:“+网址,网址);})fail (DocumentHelper.showServiceError);});返回;}DocumentHelper.log (“转换”+ statusJobData。jobStatusMessage +“…”);/ /继续查询runQuery (Date.now ());};runQuery = (responseTime) = > {常量现在= Date.now ();如果(requestTime ! = = 1) {常量现在timeSinceRequest = - requestTime;常量现在timeSinceResponse = - responseTime;/ /如果我们没有等待以来的最低响应和没有等待以来的最大请求,等待如果(timeSinceResponse < minWaitFromResponse | | timeSinceRequest < minWaitFromRequest) {常量waitTime =数学。max (minWaitFromResponse——timeSinceResponse minWaitFromRequest - timeSinceRequest);window.setTimeout (() = > {runQuery (responseTime);},waitTime);返回;}}lt.Document.Converter.StatusJobDataRunner。queryConvertJobStatus (userToken jobToken).done (queryDone)fail (DocumentHelper.showServiceError);requestTime = Date.now ();返回;}runQuery (Date.now ());})fail (DocumentHelper.showServiceError);})fail (DocumentHelper.showServiceError);})fail (DocumentHelper.showServiceError);}}
出口DocumentHelper {静态showServiceError = (jqXHR statusText errorThrown) = > {alert (“从服务返回错误。有关详细信息,请参阅控制台”。);常量serviceError = lt.Document.ServiceError。parseError (jqXHR statusText errorThrown);console.error (serviceError);}静态日志=(消息、数据)= > {常量outputElement = . getelementbyid (“输出”);如果(outputElement) {常量时间= (日期()).toLocaleTimeString ();常量textElement = document.createElement (“p”);textElement。innerHTML = (outputElement。childElementCount + 1) +“(”+时间+“:”+消息;outputElement。方法(textElement outputElement.firstChild);}如果数据(!)console.log(消息);其他的控制台。日志(消息、数据);}静态initFactory = () = > {/ /与DocumentsService通信,它必须运行!/ /更改这些参数匹配服务的路径。lt.Document.DocumentFactory。serviceHost =“http://localhost: 40000”;lt.Document.DocumentFactory。servicePath =”“;lt.Document.DocumentFactory。serviceApiPath =“api”;}}
< !doctype html >< html lang =“en”><标题>文档例子| StatusJobDataRunner < /名称><头>< script src =“https://code.jquery.com/jquery-2.2.4.min.js”诚信=“sha256-BbhdlvQf / xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44 = "crossorigin =“匿名”> < /脚本>< script src =“. . / . . / LT / Leadtools.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Controls.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Annotations.Engine.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Annotations.Designers.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Annotations.Rendering.Javascript.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Annotations.Automation.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.ImageProcessing.Main.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.ImageProcessing.Color.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.ImageProcessing.Core.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.ImageProcessing.Effects.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Document.js”> < /脚本>< script src =“. . / . . / LT / Leadtools.Document.Viewer.js”> < /脚本>< link rel =“样式表”类型=“文本/ css”href =“. . / . . / css / examples.css”>< !——所有演示文件捆绑和附加到窗口- - >< script src =“. . / . . / bundle.js”类型=“text / javascript”> < /脚本>< / >头<身体>< div ><按钮类型=“按钮”id =“exampleButton”> > < /按钮运行例子< / div >< div id =“输出”> < / div >< div >< img id =“img”/ >< / div >< /身体><脚本>窗口。onload = () = > {常量示例=window.examples.StatusJobDataRunner ();example.run (“exampleButton”);};> < /脚本< / html >
需求< / div >目标平台
帮助21.0.2021.7.2版本< / div >< !--BEGIN Copyright notice--> 188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。< !--END Copyright notice-->
Leadtools。文档Assembly< / div >