从'WordOpenXML'转换为In-Memory System.IO.Packaging.Package

问题描述 投票:2回答:1

[使用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,尽管我怀疑上面引用的帖子给出了很多答案。

c# stream ms-word openxml-sdk
1个回答
4
投票

您可以使用此方法从WordOpenXml字符串获取内存中的流:

© www.soinside.com 2019 - 2024. All rights reserved.