在SharePoint 2013中将网站保存为文档
本文关键字:保存 文档 网站 SharePoint 2013 | 更新日期: 2023-09-27 18:10:08
我在一个应用程序页面中动态生成一个页面(html)。
现在我需要将该页归档到文档库中。PDF很棒,Word也可以。Html是最糟糕的。
如果需要的话,我当然可以把html改成aspx。
虽然我找到了很多为最终用户解释sp2013的新pdf功能的页面,但我没有找到任何例子,如何通过代码来实现这一点,而不使用第三方工具
您可以使用SharePoint 2013中引入的新的SyncConverter类作为Word自动化服务的一部分。为了能够使用它,您需要包含Microsoft.Office.Word.Server.dll
,它位于C:'Program Files'Common Files'microsoft shared'Web Server Extensions'15'ISAPI
文件夹中。
using Microsoft.Office.Word.Server.Conversions;
var fileContent = "<html><body><h1> Blah Blah Blah </h1></body></html>";
using (var read = GenerateStreamFromString(fileContent))
using (var write = new MemoryStream())
using (var site = new SPSite("http://localhost"))
using (var web = site.OpenWeb())
{
var wordAutomationServiceName = "Word Automation Services";
var sc = new SyncConverter(wordAutomationServiceName);
sc.UserToken = site.UserToken;
sc.Settings.UpdateFields = true;
sc.Settings.OutputFormat = SaveFormat.PDF;
var info = sc.Convert(read, write);
if (info.Succeeded)
{
var folder = web.Lists["Documents"].RootFolder;
folder.Files.Add("http://localhost/Documents/SyncConverted.pdf", write);
}
}
public static Stream GenerateStreamFromString(string s)
{
var stream = new MemoryStream();
var writer = new StreamWriter(stream);
writer.Write(s);
writer.Flush();
stream.Position = 0;
return stream;
}