1

在 C# VSTO 插件项目中,我们将内容控件添加到 Word 文档以跟踪文档结构。我们使用内容控件能够嵌套文档的不同元素。嵌套基本上就像一本书,在不同的层次上有不同的元素:章节、子章节、段落。我们需要保留此结构,以便能够将其导出为特定的 XML 格式,以便针对 XSD 进行验证,从而验证文档的结构。

内容控件一切正常,除非我们必须处理一个大文档,我们需要许多内容控件。我说的是超过 2000 个内容控件,所以我意识到 Word 需要处理的内容很多。在这种情况下,Word 会变得非常慢,例如,一直向下滚动到文档底部需要一段时间,而 Word 会说它正在重新分页并执行拼写检查。有时 Word 甚至会在打开此类文档时崩溃。

我已经尝试从文档中删除撤消信息,因为我在某个地方读到了可能会降低带有非常大文档的 Word 的速度。在那之后文档大小确实缩小了一点,但性能问题仍然存在。我还能做些什么来加快速度,或者当需要这个数量(即 > 500 个内容控件)时,内容控件只是不行吗?

如果内容控件是一个不可行的场景,是否有任何替代方法来跟踪文档的结构?我尝试过使用样式,但是这样会丢失文档各个元素的嵌套信息,因此解析变得更加困难。我还尝试将书签放在每个分组元素的开头,但我注意到在键入时可以删除书签。

欢迎任何想法,提示和技巧。提前致谢!

鲁本。

4

2 回答 2

0

尝试使用http://docx.codeplex.com/然后你甚至不必安装 MS Word。

于 2012-03-14T02:25:25.570 回答
0

如果您不使用内容控件的标记属性,您是否看起来使用了合并字段?根据您使用内容控件处理文档的方式,它可以为您提供相同的功能和更好的性能。合并字段需要更少的内存空间,并且比内容控件填充得更快。

于 2012-03-27T07:40:46.213 回答