2

SharePoint2007でフォームライブラリを作成しました。InfoPathドキュメントをPDFに変換できるカスタムワークフローアクティビティを作成しました。しかし、元のInfoPathファイルを新しいPDFファイルに置き換えようとすると、InfoPathファイルを参照し続けます。InfoPathリストアイテムの名前をPDFに変更するにはどうすればよいですか?

手動で変更することはできません(自動的に変更する必要があります)。私の唯一の問題は、PDFファイルを同じSPListItemに保存する必要があることです。ファイルのメタデータと履歴情報を保持したいので(要件)。

私のコード:

//new url = file.pdf
//old url = file.xml
//pdf doc = byte[] of pdf file

file.MoveTo(newUrl);
file.ReplaceLink(oldUrl, newUrl);
file.SaveBinary(pdfdoc);

file.Update();
file.CheckIn("File Converted to PDF - V1.0");
file.Update();
4

2 に答える 2

0

の名前を変更するために、のFileLeafRefフィールドを設定できます。SPListItemSPFile

file.Item[SPBuiltInFieldId.FileLeafRef] = newUrl;
// UpdateOverwriteVersion() in order to prevent duplicated version histroy entries...
file.Item.UpdateOverwriteVersion(); 

file.SaveBinary(pdfDoc);
于 2012-06-12T09:05:15.693 に答える
0

PDFファイル用の新しいSPListItemを作成することで修正しました。その後、すべてのフィールドの内容を新しいSPListItemにコピーします。その後、古いファイルを削除するか、後で使用するためにアーカイブすることができます。

于 2012-06-18T13:09:05.523 に答える