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