在SharePoint 2013中将网站保存为文档

本文关键字:保存 文档 网站 SharePoint 2013 | 更新日期: 2023-09-27 18:10:08

我在一个应用程序页面中动态生成一个页面(html)。

现在我需要将该页归档到文档库中。PDF很棒,Word也可以。Html是最糟糕的。

如果需要的话,我当然可以把html改成aspx。

虽然我找到了很多为最终用户解释sp2013的新pdf功能的页面,但我没有找到任何例子,如何通过代码来实现这一点,而不使用第三方工具

在SharePoint 2013中将网站保存为文档

您可以使用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;
}