我有一个活动文档:
Microsoft.Office.Interop.Word.Document document = Globals.ThisAddIn.Application.ActiveDocument;
我该如何将这个转换为流?
或者更好的方法是,如何将活动文档发送到REST Web服务?
谢谢。
这是哪个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;
}
先保存到临时文件,然后按照 REST 服务的要求读取文件内容,例如字节数组。或者如果不需要使用旧的 Word 格式,则使用 Open XML SDK。
Microsoft.Office.Interop.Word.Document
不可序列化。 - Conrad