使用LEADTOOLS文档转换器

文档转换器允许从任何类型的文档转换到另一个用最少的代码。

输入和输出文档类型可以是任何LEADTOOLS支持的文件格式,包括但不限于:

DocumentConverter类将分析输入和输出文档类型,然后自动使用的组合LEADTOOLS光栅,SVG和OCR引擎使用最好的组合转换数据的精度和速度。每一个被称为转换操作文档转换器的工作的框架。

输入文档

DocumentConverter使用LEADTOOLS文档库对输入文件获取信息。的LEADDocument类封装了文件格式细节并返回一组统一的阅读页面所需的功能和解析所需的数据转换工作。这包括数据加载页面RasterImageSvgDocument对象,阅读目录页面和内部链接和任何注释对象嵌入到文件或存储在一个关联的文件。

输出文档

有两种类型的输出文件格式:

转换选项

文档转换的设计运行无人值守。然而,DocumentConverter提供了许多选项来监视和修改操作并根据需要定制输出文档。这包括以下选项:

启动:DocumentConverter类

DocumentConverter类是该框架的主要入口。初始化该类的一个实例用于将一个或多个文档,然后设置以下选项:

成员 描述
SetOcrEngineInstance IOcrEngine用于解析文本和对象输入文档中的SVG是不可用的。
SetDocumentWriterInstance DocumentWriter使用在创建输出文件被选中当文档格式输出。
SetAnnRenderingEngineInstance 可选的渲染引擎使用注释时覆盖的图像。
LoadDocumentOptions 选择输入文档加载时使用。
预处理器 预处理选项用于清理输入的图像文件。
选项 (可选)额外的选项来使用在错误恢复等转换模式和页面模板。
诊断 日志记录选项,如标准使。net跟踪。

创造就业机会

一旦DocumentConverter类初始化,使用DocumentConverterJobs类(通过访问DocumentConverter.Jobs属性)来创建新的转换工作。

参数设置的工作DocumentConverterJobData结构。它包含以下成员:

成员 描述
文档 LEADDocument对象作为输入的转换。这或InputDocumentFileName使用。
InputDocumentFileName 转换的输入文件的路径。这或文档使用。
InputAnnotationsFileName (可选)的路径包含注释的文件文件添加到输出文档中。
InputDocumentFirstPageNumber (可选)要转换的第一页的数量从输入文档。
InputDocumentLastPageNumber (可选)要转换的最后一页的数量从输入文档。
DocumentFormat 输出格式文档转换时使用。
RasterImageFormat 使用光栅时的输出格式转换。
RasterImageBitsPerPixel 输出文件的比特每像素当光栅转换使用。
OutputDocumentFileName 生成的输出文件的名称转换。
OutputAnnotationsFileName (可选的)文件,该文件将包含注释的名称解析从输入文档。
AnnotationsMode 自定义注释如何保存在输出文档。
JobName (可选)这份工作的名称。启用跟踪时有用。
用户数据 (可选)可以使用用户定义的对象与事件通过application-specified数据的工作。

DocumentConverterJobs.CreateJobData重载的方法也可以用来快速创建工作从常见的输入和输出选项。

当所有的选项设置DocumentConverterJobs.CreateJob方法是用来创建的实例DocumentConverterJob把握工作的类选项以及地位。该对象将被传递给DocumentConverterJobs.RunJobDocumentConverterJobs.RunJobAsync运行操作。

运行作业

DocumentConverterJobs.RunJobDocumentConverterJobs.RunJobAsync方法用于运行的工作在前一节中创建的数据。在工作运行时,DocumentConverterJobs.JobStarted(一次),DocumentConverterJobs.JobOperation(不止一次)DocumentConverterJobs.JobCompleted(一次)事件将消防指示工作的进步。

的数据DocumentConverterJobEventArgs类型事件包含所有必要的信息对当前的工作和地位:

成员 描述
工作 通过实际的工作对象RunJobRunJobAsync
状态 工作的现状和它是否仍在运行或被中止。使用这个属性来中止任何正在运行的工作。
操作 当前的操作被执行的转换器。
IsPostOperation 一个值,指示是否这个事件之前或之后被解雇操作
InputDocumentPageNumber 当前的输入文档中的页码。
OutputDocumentPageNumber 当前页码在输出文档。
文档 LEADDocument对象被这种转换。
DocumentWriter DocumentWriter对象被这个操作如果使用文档转换。
OcrDocument 所使用的OCR文档对象如果这个操作使用OCR的转换。
OcrPage OCR页面对象如果这个操作是使用OCR的转换使用。
SvgDocument 如果这个操作所用的SVG文档使用SVG转换。
OcrPageImage 当前页面的光栅图像对象如果这个操作是使用OCR转换。
RasterImage 所使用的光栅图像如果这个操作是使用光栅转换。
AnnContainer 注释容器如果使用注释转换使用。
AnnotationsMode 当前注释转换模式。

为更多的信息关于这些成员和他们如何可以使用或修改,请参考DocumentConverterJobOperation

InputDocumentPageNumber属性可以用来显示一个进度条指示当前的转换操作。

完成工作

工作时完成RunJob方法返回。如果RunJobAsync使用,那么JobCompleted应该被用来表示工作完成时。在这两种情况下,DocumentConverterJob对象通过将包含该操作的状态信息如下:

成员 描述
状态 工作状态。这可以成功,SuccessWithErrors流产
错误 的列表转换期间可能发生的任何错误。
JobData 最初的选择用于创建这个工作。
DocumentConverter 文档转换器对象用于运行工作。

多线程

DocumentConverter是多线程安全的。的RunJobAsync方法可以用来运行多个作业同时运行在单独的线程。在内部,转换器使用。net专门为创建和管理线程池线程。

RunJobAsync将执行一个检查选项,然后开始工作,立即将控制返回给用户。的JobOperation和JobCompleted事件可用于监测工作的地位和使工作完成时通知。AbortAllJobs可以使用在任何时候退出所有正在运行的,取消任何悬而未决的工作。

工作状态文档转换器

DocumentConverter支持文档转换状态更新。指工作状态文档转换器为更多的信息。

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