状态文档作业转换器

DocumentConverter支持带有状态更新的文档转换。此功能利用LEADTOOLS缓存来:

运行带有status的转换的主要类是StatusJobDataRunner它使用了StatusJobData对于每个转换。使用状态作业转换器的应用程序的简单工作流如下:

c#
//创建一个新的状态作业数据运行器:statusjobdatarrunner =StatusJobDataRunner ();//创建一个新的状态job data:StatusJobData jobData =StatusJobData ();//加满jobData。InputDocumentId =“MyDocumentId”/ /等。//准备跑者runner.Prepare (jobData);//运行它runner.Run ();runner.Dispose ();

此工作流执行转换作业,但不允许获取作业的状态信息。要做到这一点,修改代码如下:

c#
//创建一个新的状态作业数据运行器:statusjobdatarrunner =StatusJobDataRunner ();//创建一个新的状态job data:StatusJobData jobData =StatusJobData ();//加满jobData。InputDocumentId =“MyDocumentId”/ /等。//准备跑者runner.Prepare (jobData);//创建一个线程来查询作业状态AutoResetEvent finished =AutoResetEvent ();ThreadPool。QueueUserWorkItem ((对象州)= >{(结束){//获取作业的状态StatusJobData StatusJobData = statusjobdatarrunner。QueryJobStatus (statusCache jobData。UserToken jobData.JobToken);//对info执行一些操作控制台。WriteLine (“状态是”+ statusJobData。ShowJobStatus (“工作”, statusJobData.JobStatus);如果(statusJobData.IsCompleted){//通知任务完成finished.Set ();}thread . sleep (100);}});//运行它runner.Run ();runner.Dispose ();finished.WaitOne ();//任务完成

StatusJobData可以仅使用简单的字符串参数进行初始化,因此,应用程序可以在一个进程中运行作业,并在一个完全独立的进程中执行线程中上述状态查询。指StatusJobDataRunner对于一个完整的例子。

当转换开始时,运行程序将创建一个新的缓存项,Region/Key设置为UserToken/JobToken分别将值设置为的副本StatusJobData输入对象。随着作业的进行,运行程序将使用最后状态和时间戳更新缓存中的此项。应用程序可以使用QueryJobStatus随时获取最新版本的StatusJobData从缓存中获取转换状态的更新值和可能发生的任何错误。的价值IsCompleted真正的当流道完成转换时。

StatusJobData包含各种成员,可以组织成以下部分:

地位的部分

成员 描述
UserTokenJobToken 用户和作业的唯一标识符。它们用作缓存区域和键,用于为作业创建唯一标识符。
StatusCacheConfigurationStatusCachePolicyStatusCache 标识用于存储作业状态的缓存和策略。
用户数据 与作业关联的任何用户定义数据
工作 作业的最后状态,是已启动、已完成还是已终止。
JobStatusPageNumberJobStatusMessage 关于最后一个作业状态的额外信息
IsCompleted 确定工作是否已完成
中止 允许用户中止正在运行的作业
JobStartedTimestampJobCompletedTimestampJobStatusTimestampQueryJobStatusTimestamp 各种作业操作的时间戳
errormessage 保存转换期间发生的任何错误消息

UserTokenJobToken必须由应用程序指定,并且将它们组合应创建唯一字符串。内部,跑步者将使用UserTokenJobToken随着地区关键添加到缓存中的缓存项的。

状态缓存用于存储和更新状态StatusJobData对象传递给运行器。可以是存储在的有效缓存实例StatusCache,或传递给的缓存配置字符串StatusCacheConfiguration.如果所有这些值都是,则运行程序将使用类中的下一个缓存InputCacheOutputCache),换句话说,应用程序可以使用相同的缓存(在所有三个参数中设置它,或者只在一个参数中设置它,其余的为空),也可以根据应用程序的配置为每个操作使用不同的缓存。

工作将被设置为其中一个DocumentConverterJobStatus枚举成员。

JobStatusPageNumberJobStatusMessage将包含有关上次作业状态的额外信息。

IsCompleted只要运行程序正在执行转换。它将被设置为真正的当作业完成(无论成功与否)时,状态将包含成功流产取决于转换的结果)。如果出现错误,errormessage将包含发生的一个或多个错误的有用提示和消息。

可以查询各种时间戳,以检查转换的运行状况以及转换是否仍在正确执行。

选项部分

成员 描述
DocumentConverterDocumentConverterOptions 用于此作业的文档转换器或其选项
DocumentWriterOptions 文档编写者用于此作业的选项
OcrEngineNameOcrEngineStartupParametersOcrEngineSettings 用于此作业的OCR引擎或其选项

跑步者使用DocumentConverter执行操作。控件的实例可以使用上面描述的选项DocumentConverter或简单的选项(以XML形式)来使用。

输入部分

成员 描述
InputCacheInputCacheConfiguration 标识用于保存输入文档的缓存。
InputDocumentId 要转换的源文档的ID
InputDocumentFirstPageNumberInputDocumentLastPageNumber 要转换的文档的可选第一和最后页码

这些成员必须初始化为要转换的缓存中输入文档的信息。

输出部分

成员 描述
OutputCacheOutputCacheConfigurationOutputCacheItemPolicy 标识用于存储输出文档的缓存和策略。
OutputDocumentID 用于输出文档的可选ID
OutputDocumentUri 上传用于输出文档的URI
OutputDocumentName 分配给输出文档的可选名称

转换的结果输出文档被上传到缓存中。这些成员定义如何存储文档。

转换部分

成员 描述
DocumentFormatRasterImageFormatRasterImageBitsPerPixel 用于输出文档的格式
JobName 可选作业名称
AnnotationsMode 标注输出方式

最后,本节指定要使用的输出文档类型和注释模式。

有关完整示例,请参阅StatusJobDataRunner

LEADTOOLS成像、医疗和文档
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领先科技有限公司版权所有。