工作状态文档转换器

DocumentConverter支持文档转换状态更新。这个特性利用LEADTOOLS缓存:

主类为运行状态的转换StatusJobDataRunner使用的实例StatusJobData对于每一个转换。一个简单的工作流应用程序的使用状态转换器工作如下:

c#
/ /创建一个新的工作状态数据跑:StatusJobDataRunner跑=StatusJobDataRunner ();/ /创建一个新的状态工作数据:StatusJobData jobData =StatusJobData ();/ /把它填平jobData。InputDocumentId =“MyDocumentId”;/ /等。/ /准备跑runner.Prepare (jobData);/ /运行它runner.Run ();runner.Dispose ();

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

c#
/ /创建一个新的工作状态数据跑:StatusJobDataRunner跑=StatusJobDataRunner ();/ /创建一个新的状态工作数据:StatusJobData jobData =StatusJobData ();/ /把它填平jobData。InputDocumentId =“MyDocumentId”;/ /等。/ /准备跑runner.Prepare (jobData);/ /创建一个线程来查询作业状态AutoResetEvent完成=AutoResetEvent ();ThreadPool.QueueUserWorkItem ((对象状态)= >{(结束){/ /得到的状态工作StatusJobData StatusJobData = StatusJobDataRunner。QueryJobStatus (statusCache jobData。UserToken jobData.JobToken);/ /做一些信息Console.WriteLine (“状态”+ statusJobData。ShowJobStatus (“工作”,statusJobData.JobStatus);如果(statusJobData.IsCompleted){/ /通知的工作是完成finished.Set ();}thread . sleep (100);}});/ /运行它runner.Run ();runner.Dispose ();finished.WaitOne ();/ /完成的工作

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

转换开始时,运动员将创建一个新的缓存项与区域/关键的设置UserToken/JobToken分别和价值的一个副本StatusJobData输入对象。随着工作的进行,跑步者将会更新这个项目在缓存中持续状态和时间戳。应用程序可以使用QueryJobStatus在任何时候得到的最新版本StatusJobData从缓存中更新的值的转换状态和可能发生的任何错误。的价值IsCompleted真正的当运动员完成转换。

StatusJobData包含各种各样的成员可以分成以下部分:

地位的部分

成员 描述
UserTokenJobToken 为用户和工作惟一标识符。这些都是用作缓存区域和关键工作创建一个惟一的标识符。
StatusCacheConfiguration,StatusCachePolicyStatusCache 确定缓存和政策用于存储作业状态。
用户数据 任何与工作相关的用户定义的数据
工作 去年工作的状态,是否已经开始,完成或中止。
JobStatusPageNumber,JobStatusMessage 额外的信息在最后的工作状态
IsCompleted 确定工作已经完成
中止 允许用户中止运行工作
JobStartedTimestamp,JobCompletedTimestamp,JobStatusTimestamp,QueryJobStatusTimestamp 各种工作操作的时间戳
errormessage 持有期间发生的任何错误消息转换

UserTokenJobToken必须指定应用程序并结合他们应该创建一个唯一的字符串。在内部,跑步者将使用UserTokenJobToken随着地区关键的一个缓存条目添加到缓存中。

状态缓存用于存储和更新StatusJobData对象传递给运动员。这可能是一个有效的缓存实例存储在StatusCache,或者一个缓存配置字符串传递给StatusCacheConfiguration。如果所有这些值,然后跑步者将使用缓存的类(InputCacheOutputCache),换句话说,应用程序可以使用相同的缓存(在所有三个参数或设置它只有一个,把其余的空)或使用不同的缓存为每个操作取决于应用程序配置。

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

JobStatusPageNumberJobStatusMessage将包含额外的信息在最后的工作状态。

IsCompleted只要跑步者执行转换。它将被设置为真正的当工作完成(成功与否,将包含状态成功流产根据转换的结果)。在错误的情况下,errormessage将包含有用的提示和消息的一个或多个错误的发生。

可以查询各种时间戳检查健康的转换和是否仍然正确执行。

选项部分

成员 描述
DocumentConverter,DocumentConverterOptions 文档转换器或其选择使用这个工作
DocumentWriterOptions 选择文档作者使用这个工作
OcrEngineName,OcrEngineStartupParameters,OcrEngineSettings OCR引擎或它的选项来使用这个工作

运动员使用DocumentConverter执行操作。上面描述的选项可用于设置的实例DocumentConverter使用或简单的选项(以XML形式)使用。

输入部分

成员 描述
InputCache,InputCacheConfiguration 确定缓存用于保存输入文档。
InputDocumentId 要转换的源文档的ID
InputDocumentFirstPageNumber,InputDocumentLastPageNumber 可选的第一和最后一页要转换的文档的数量

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

输出部分

成员 描述
OutputCache,OutputCacheConfiguration,OutputCacheItemPolicy 确定缓存和政策用于存储输出文档。
OutputDocumentID 可选的ID用于输出文档
OutputDocumentUri 上传URI用于输出文档
OutputDocumentName 可选名称分配到输出文档中

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

转换部分

成员 描述
DocumentFormat,RasterImageFormat,RasterImageBitsPerPixel 用于输出文档格式
JobName 可选的作业名
AnnotationsMode 注释输出模式

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

对于一个完整的示例,请参考StatusJobDataRunner

LEADTOOLS成像、医学和文档
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。