[使用VSTO 2012操作MS Word文档时,我看到该文档具有WordOpenXML
字符串属性,它是构成.docx软件包的所有文件的XML表示形式,保存该Word时将保存到磁盘中文件作为.docx。
我想将此字符串转换为等效的System.IO.Packaging.Package
对象内存中。
SO question here非常相似。实际上,OP在他的问题中甚至提到了“记忆中”。但是,给出的答案包括使用System.IO.Packaging.ZipPackage.Open()
方法将软件包保存到磁盘。我不想将软件包保存到磁盘,然后必须使用WordprocessingDocument.Open()
方法再次将其打开。相反,我希望所有事情都在内存中完成,而根本不涉及文件系统。
我看到WordprocessingDocument.Open()
的重载为Stream
。但是,我不确定如何从Stream
字符串准备这样的WordOpenXML
,尽管我怀疑上面引用的帖子给出了很多答案。
您可以使用此方法从WordOpenXml字符串获取内存中的流: