从流中打开Word(.doc)文档

时间:2010-12-03 11:47:51

标签: stream ms-word ms-office

我有一堆Word文档(.doc)存储在我需要打开的SQL数据库中,清理Title,Subject等属性,然后将文件保存回数据库。

甚至可以从流中打开“.doc”文件吗?

2 个答案:

答案 0 :(得分:1)

Word无法从内存中的流中打开.doc文件。要打开文件,您必须先将文档保存到临时位置。

但是,Word的鲜为人知的RTF转换器接口可用于从RTF格式的流中加载文档。如果使用RTF而不是二进制格式是 1 的选项,您可能需要查看WinWord Converter SDK:

  

<强> How to Obtain the WinWord Converter SDK (GC1039)

对于导入转换器,您必须实现将由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是可行的。