Word Automation Services 对象模型
上次修改时间: 2010年4月1日
适用范围: SharePoint Server 2010
在本主题中,您将了解通过 Word Automation Services 进行开发时使用的主要对象。
概述
Word Automation Services 的编程模型提供一个服务器端对象模型,应用程序通过执行以下操作,使用该对象模型以异步方式请求转换:
指定执行转换的服务应用程序。
为此组转换设置必需属性和可选属性。
指定要转换的一个或多个文件。
将转换提交到文档队列。
在应用程序提交转换请求之后,该服务将根据为服务应用程序设置的计划,自动使用先进先出 (FIFO) 队列开始这些转换。每个转换请求还指定一个 GUID,可用来查询有关该转换请求的状态信息。
创建转换作业
若要使用 Word Automation Services 转换文件,该对象模型使用 ConversionJob 对象将一组转换作为一个单元进行跟踪。例如,若要将 15 个文件转换成 PDF 格式、将 30 个文件转换成 XPS 格式,则需要两个 ConversionJob 对象;每个对象表示一组属性相同的转换。
若要初始化 ConversionJob 对象,代码需要一个可指定名称、ID、或对应于服务应用程序的服务应用程序代理的参数。通常情况下,创建服务应用程序时指定的名称最易于使用。
ConversionJob 对象一经创建,即会向它分配唯一的 ID。ConversionJob 对象通过其 JobId 属性公开此 ID,这样,提交转换作业后,就能够查询该作业。
配置设置
创建 ConversionJob 对象后,您即可使用 ConversionJob 的几项设置来指定执行转换的方式。
其中最重要的设置是 UserToken 属性,该属性确定用于访问要转换的文档并将文档写回 SharePoint Server 2010 列表的用户凭据。默认情况下,使用匿名访问。最佳做法是将提交转换作业的用户的凭据分配给 UserToken 属性,以确保成功转换文档。
除了 UserToken 属性之外,Settings 属性还包含其他转换设置的集合。该集合包括指定以下内容的设置:
是否应自动更新字段。
输出文件是否应自动覆盖现有文件。
输出文件格式。
监视进度
提交一项作业后,将按该作业被添加到文档队列的顺序以异步方式处理该作业。不过,您可以使用 ConversionJobStatus 对象上可用的方法来随时监视转换作业:
GetAllJobs(String, Nullable<Guid>) 方法返回特定服务实例的所有转换作业的 ID(再次按实例名称、ID 或代理筛选),然后,可以选择筛选出那些由特定用户提交的作业。
GetAllActiveJobs(String, Nullable<Guid>) 方法返回有一个或多个项还未处理的特定服务实例的所有转换作业的 ID(再次按实例名称、ID 或代理筛选),然后,也可以筛选出那些由特定用户提交的作业。
在转换作业级别,您可以通过使用特定作业的 ID(从以上方法中获得,或从作业创建推断出 ID)为该作业创建 ConversionJobStatus 对象。该对象包含已成功、已失败或仍未处理的所有转换项的列表。