Sharepoint 如何准确确定SPFile实例是否为转换文件?

Sharepoint 如何准确确定SPFile实例是否为转换文件?,sharepoint,moss,openxml,Sharepoint,Moss,Openxml,我一直在使用MOSS 2007开发文档转换功能,用于将docx文件转换为pdf文件。正在ItemAdded事件中调用SPFile.Convert(),并且ItemFileConverted事件也会正常激发。事件处理似乎工作正常,但转换过程并不总是设置已转换SPFile实例的IsConvertedFile和SourceLeafName属性。这就是我试图用来确定是否应该调用SPFile.Convert的内容 在深入研究SPFile IsConvertedFile的代码、生成ConverterID和S

我一直在使用MOSS 2007开发文档转换功能,用于将docx文件转换为pdf文件。正在ItemAdded事件中调用SPFile.Convert(),并且ItemFileConverted事件也会正常激发。事件处理似乎工作正常,但转换过程并不总是设置已转换SPFile实例的IsConvertedFile和SourceLeafName属性。这就是我试图用来确定是否应该调用SPFile.Convert的内容

在深入研究SPFile IsConvertedFile的代码、生成ConverterID和SourceLeafName属性时,这些属性似乎是基于SPFile.properties“vti\u dttransformerid”和“vti\u dtparentleafname”的。问题是,每当我在ISPConversionProcessor.PostProcess()实现中有代码时,这两个属性的设置并不一致,我希望在该实现中对文件进行一些后处理。如果后处理方法中没有代码(只有runDefaultPostProcessing=true;语句),则属性设置会更加一致

我在这里有一些关于正在发生的事情的额外细节,但是使用.NET Reflector来确定这些字段从何处更新在OWSTIMER.EXE上遇到了麻烦(我可以找到所有属性的读取,但即使是HtmlLauncher和LoadBalancer服务也没有提到这些属性)


是否有人完成了完整的文档转换实施并成功使用了SPFile.IsConvertedFile和SPFile.SourceLeafName属性

我为SharePoint创建了一个PDF转换器,但没有使用文档转换器功能,因为它不符合我们的需要,而且不够灵活

我不确定这个回复是否会被当作垃圾邮件扔掉,因为我现在要把你链接到你可以下载免费试用版的地方


我现在觉得有点脏,但我可能真的帮了你;-)

如果您不能信任API,请将IsConverted元数据存储在SPListItem的属性包中。或者,如果您希望在UI中显示,请向列表中添加另一个字段。从事件处理程序来看,这一切都应该可以正常工作


做额外的工作很烦人,但我想可能有额外的元数据可以添加,而SPFile无论如何都无法提供这些元数据。

谢谢Alex。最后,这就是我最终要做的。属性存储一个值,该值允许我确定转换的状态。