【发布时间】:2010-06-21 15:50:59
【问题描述】:
我在使用文字插件时遇到了一些问题。我正在尝试创建一种新的文档格式,并让它正常工作。该格式只是现有 docx 之上的一种编码。换句话说,我可以去掉编码,留下一个有效的 word 文档。
保存:
现在,当用户想以新格式保存文档时,我提示保存原件,然后从磁盘读取原件,以新格式保存一份副本。这会在文件系统上留下 2 个文件(foo.docx 和 foo.myformat)。
不过,理想情况下,我想在 DocumentBeforeSave 事件中截取文档,将文档作为字节数组获取,在内存中对其进行转换,然后只保存一个副本。但是,我似乎找不到获取字节数组的方法。
开幕式:
现在,当用户选择以我的格式存储的要打开的文件时,我会制作一个临时副本 (tmp\blah.docx),然后使用 Application.Documents.Open(tmp\blah. docx...)。
我宁愿从内存流中创建文档,这样可以避免创建临时文件。是否可以从内存中创建一个新的 Word.Document?
任何方向将不胜感激。非常感谢。
【问题讨论】:
-
您可能需要离开 Interop 进行内存编辑,而改用 Open XML SDK。这是一篇好文章:blogs.msdn.com/b/ericwhite/archive/2008/12/10/…
标签: .net ms-word add-in office-interop