已转换文档的自定义处理
上次修改时间: 2010年3月8日
适用范围: SharePoint Server 2010
本文内容
已转换文档的自定义预处理
已转换文档的自定义后续处理
已转换文档的其他后续处理
默认情况下,Microsoft SharePoint Server 2010 会对它从文档转换器收到的已转换副本执行几个后续处理功能,例如将原始文件的元数据添加到副本,以及将副本放回原始文件所在的同一文档库中。但是,您可以用自己的操作替代这些后续处理操作,或者添加其他操作。您也可以在调用文档转换器之前执行自定义处理。
有关 SharePoint Server 2010 默认情况下执行的后续处理的详细信息,请参阅转换后的文档。
已转换文档的自定义预处理
若要在 SharePoint Server 2010 将原始文件传给文档转换器之前执行自定义的预处理操作,请创建一个实现 ISPConversionProcessor 接口的程序集。此接口的 PreProcess 方法具有两个参数:
一个表示原始文件的字节流的字节数组。
一个 SPExecutingConversionRequest 对象,它包含表示传给 Convert 方法的参数的只读属性,例如要传给文档转换器的自定义配置信息、已转换副本的文件名、转换优先级、要通知的人员的电子邮件地址,以及是否要将已转换副本作为附件包含到通知中。
若要调用自定义预处理程序集,请设置 Convert 方法的两个参数:
将 handlerAssembly 参数设置为一个表示自定义程序集所在位置的字符串。
将 handlerClass 参数设置为一个字符串,它表示为执行预处理而要调用的程序集中的类名称。
使用按此方式设置的这些参数来调用 Convert 方法时,SharePoint Server 2010 反过来会使用 PreProcess 方法来调用您的自定义程序集。此程序集随后可执行其操作,并向 SharePoint Server 2010 返回一个表示要转换的文件的字节数组,而 SharePoint Server 2010 又会将此字节数组传给文档转换器。
已转换文档的自定义后续处理
若要用您自己的操作替换 SharePoint Server 2010 执行的后续处理操作,请创建一个实现 ISPConversionProcessor 接口的程序集。此接口的 PostProcess 方法具有两个参数:
一个 SPExecutingConversionRequest 对象,它包含表示传给 Convert 方法的参数的只读属性,例如要传给文档转换器的自定义配置信息、已转换副本的文件名、转换优先级、要警示的人员的电子邮件地址,以及是否要将已转换副本作为附件包含到警报中。此外,此对象包含一个表示已转换文件的字节数组。
一个表示结果的未知类型。
若要调用自定义后续处理程序集,请设置 Convert 方法的两个参数:
将 handlerAssembly 参数设置为一个表示自定义程序集所在位置的字符串。
将 handlerClass 参数设置为一个字符串,它表示为执行后续处理而要调用的程序集中的类名称。
在文档转换器生成原始文件的已转换副本后,当您使用按此方式设置的这些参数调用 Transform 方法时,SharePoint Server 2010 会使用 PostProcess 方法调用您的自定义程序集。此自定义程序集可以执行其后续处理操作。在这种情况下,SharePoint Server 2010 不执行后续处理,并且不会将已转换副本移到原始文件所在的同一文档库。
已转换文档的其他后续处理
若要在 SharePoint Server 2010 执行完它对已转换副本的后续处理后执行其他后续处理操作,请编写一个侦听 Convert 列表事件的代码处理程序。SharePoint Server 2010 会在成功转换和处理文档并将其放回生成它的文档库(原始文件也在此文档库中)时引发此事件。
备注
此事件的 Before 属性是指原始文件,而 After 属性是指已转换的副本。