2

我在SharePoint 2007中創建了表單庫。我創建了一個自定義工作流活動,可以將InfoPath文檔轉換爲PDF。但是,當我嘗試將原始InfoPath文件替換爲新的PDF文件時,它會一直引用InfoPath文件。如何將InfoPath列表項重命名爲PDF?更改文件擴展名SPListItem SharePoint 2007

它不能手動更改(這是自動的要求)。我現在唯一的問題是我需要將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(); 

回答

0

通過爲PDF文件創建一個新的SPListItem固定它。之後,我將每個字段的內容複製到新的SPListItem中。之後,您可以刪除舊文件或將其歸檔以備後用。

0

您可以設置SPListItemFileLeafRef場以重命名SPFile

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

file.SaveBinary(pdfDoc); 
+0

這是否也更新其他領域?像:EncodedAbsUrl(編碼絕對url)等? – Stefan

+0

是的,_EncodedAbsUrl_字段,「SPFile.Name」等將被更新。 – Stefan

+0

當我嘗試你的代碼的字段FileLeafRef保持不變:Field:FileLeafRef value:25. Form.xml – Stefan