已转换文档的自定义处理

上次修改时间: 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 属性是指已转换的副本。

请参阅

概念

文档转换器概述

文档转换器

转换后的文档