将C# Microsoft.Office.Interop.Word.Document转换为流

4

我有一个活动文档:

Microsoft.Office.Interop.Word.Document document = Globals.ThisAddIn.Application.ActiveDocument;

我该如何将这个转换为流?

或者更好的方法是,如何将活动文档发送到REST Web服务?

谢谢。

2个回答

1

这是哪个REST服务?如果是SharePoint或类似的服务,我通常会调用SaveAs函数,如下所示:

Microsoft.Office.Interop.Word.Document document = Globals.ThisAddIn.Application.ActiveDocument;
document.SaveAs("https://www.contoso.sharepoint.com/Documents/Document1.docx");

编辑:附注。你可以将任何东西序列化为流。

找到一个答案这里
public static MemoryStream SerializeToStream(object o)
{
    MemoryStream stream = new MemoryStream();
    IFormatter formatter = new BinaryFormatter();
    formatter.Serialize(stream, o);
    return stream;
}

public static object DeserializeFromStream(MemoryStream stream)
{
    IFormatter formatter = new BinaryFormatter();
    stream.Seek(0, SeekOrigin.Begin);
    object o = formatter.Deserialize(stream);
    return o;
}

不,这是第三方的Restful服务。 - mikipero
无法工作 - Microsoft.Office.Interop.Word.Document 不可序列化。 - Conrad

0

先保存到临时文件,然后按照 REST 服务的要求读取文件内容,例如字节数组。或者如果不需要使用旧的 Word 格式,则使用 Open XML SDK。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接