我有一堆Word文档(.doc)存储在我需要打开的SQL数据库中,清理Title,Subject等属性,然后将文件保存回数据库。
甚至可以从流中打开“.doc”文件吗?
答案 0 :(得分:1)
Word无法从内存中的流中打开.doc文件。要打开文件,您必须先将文档保存到临时位置。
但是,Word的鲜为人知的RTF转换器接口可用于从RTF格式的流中加载文档。如果使用RTF而不是二进制格式是 1 的选项,您可能需要查看WinWord Converter SDK:
对于导入转换器,您必须实现将由Word调用以接收RTF输入的ForeignToRtf
方法。
1 实际上你仍然可以用.doc格式保存文件;但是,您必须首先使用SDK将.doc文件转换为RTF,然后在Word中打开RTF流。从二进制格式到RTF的转换(反之亦然)应该是无损的,因为RTF格式是与二进制格式同步开发的。但是,应该记住,使用RTF转换器接口将不允许您使用OpenXML / Office 2010引入的任何新功能。
答案 1 :(得分:1)
我非常确定Word DOCUMENT对象实现了IPersistStream(COM接口)。 I + KNOW +它实现了IPersistFile。
这不是最容易使用的东西,因为它是COM,它与.net流不能很好地互操作,但我相信使用IPersistStream是可行的。