【发布时间】:2012-03-14 00:51:53
【问题描述】:
在 C# VSTO 插件项目中,我们将内容控件添加到 Word 文档以跟踪文档结构。我们使用内容控件能够嵌套文档的不同元素。嵌套基本上就像一本书,在不同的层次上有不同的元素:章节、子章节、段落。 我们需要保留此结构,以便能够将其导出为特定的 XML 格式,以便针对 XSD 进行验证,从而验证文档的结构。
除了我们必须处理一个大文档,我们需要许多内容控件之外,所有内容都可以正常工作。我说的是 2000 多个内容控件,所以我意识到 Word 需要处理的内容很多。在这种情况下,Word 会变得非常慢,例如,一直向下滚动到文档底部需要一段时间,而 Word 会说它正在重新分页并执行拼写检查。有时 Word 甚至会在打开此类文档时崩溃。
我已经尝试从文档中删除撤消信息,因为我在某个地方读到了可能会降低带有非常大文档的 Word 的速度。在那之后文档大小确实缩小了一点,但性能问题仍然存在。我还能做些什么来加快这一速度,或者当需要这个数量(即 > 500 个内容控件)时,内容控件是不行的吗?
如果内容控件是不可行的情况,是否有任何替代方法来跟踪文档的结构?我尝试过使用样式,但是这样会丢失文档各个元素的嵌套信息,因此解析变得更加困难。我也尝试在每个分组元素的开头放置书签,但我注意到在键入时可以删除书签。
欢迎任何想法、提示和技巧。提前致谢!
鲁本。
【问题讨论】:
标签: c# ms-word vsto openxml-sdk word-contentcontrol