私は、docxファイルをMOSS 2007を使用してpdfファイルに変換するためのドキュメント変換機能に取り組んでいます。SPFile.Convert()呼び出しはItemAddedイベントで行われており、ItemFileConvertedイベントも正常に起動されています。イベントが正常に機能しているように見えますが、変換されたSPFileインスタンスのIsConvertedFileとSourceLeafNameプロパティは、変換プロセスによって常に設定されるとは限りません。これは、SPFile.Convertへの呼び出しを行う必要があるかどうかを判断するために使用しようとしていたものです。SPFileインスタンスが変換されたファイルであるかどうかを正確に判断する方法は?
SPFile IsConvertedFile、GeneratingConverterId、およびSourceLeafNameプロパティのコードを調べると、SPFile.Properties "vti_dttransformerid"と "vti_dtparentleafname"に基づいているようです。問題は、ISPConversionProcessor.PostProcess()実装にコードがあるたびに、これらの2つのプロパティが一貫して設定されていないことです。ファイルの後処理を行うことを望んでいました。 PostProcessメソッド(runDefaultPostProcessing = true;ステートメントのみ)にコードがない場合、プロパティはより一貫して設定されます。
私はここin a Wiki pageで何が起こっているかについて、いくつかの追加の詳細を持っていますが、これらのフィールドはOWSTIMER.EXEでヒットレンガの壁から更新されている場所を決定するために、.NETリフレクターを使用して(私は、プロパティの読み込みのすべてを見つけることができます、 HtmlLauncherサービスとLoadBalancerサービスでさえ、これらのプロパティについては言及していませんでした)。
文書変換の実装を完了し、SPFile.IsConvertedFileおよびSPFile.SourceLeafNameプロパティを正常に使用した人はいますか?
ありがとうございます。結局、これは私がやったことです。プロパティには変換されたステータスを決定する値が格納されます。 –