Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Word 2010在许多内容控件中变得非常缓慢-替代方案?_C#_Ms Word_Vsto_Openxml Sdk_Word Contentcontrol - Fatal编程技术网

C# Word 2010在许多内容控件中变得非常缓慢-替代方案?

C# Word 2010在许多内容控件中变得非常缓慢-替代方案?,c#,ms-word,vsto,openxml-sdk,word-contentcontrol,C#,Ms Word,Vsto,Openxml Sdk,Word Contentcontrol,在C#VSTO addin项目中,我们向Word文档添加内容控件,以跟踪文档结构。我们使用内容控件来嵌套文档的不同元素。嵌套基本上就像一本书,在不同的层次上有不同的元素:章节、分章、段落。 我们需要保留此结构,以便能够将其导出为特定的XML格式,以便针对XSD进行验证,从而验证文档的结构 除了当我们必须处理一个大文档时,我们需要很多内容控件,内容控件的一切都可以正常工作。我说的是2000多个内容控件,所以我意识到Word需要处理很多内容。在这种情况下,Word会变得非常慢,例如,向下滚动到文档底

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

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

我已经尝试过从文档中删除撤销信息,因为我在某个地方读到了一些信息,这些信息可能会降低Word处理大型文档的速度。documentsize在那之后确实缩小了一点,但性能问题仍然存在。我还可以做些什么来加快这一速度,或者当需要这个数量(即>500个内容控制)时,内容控制只是一个禁区

如果内容控件是一个不可用的场景,是否有其他方法可以跟踪文档的结构?我尝试过使用样式,但这样会丢失文档中各个元素的嵌套信息,因此解析起来就困难多了。我还尝试在每个分组元素的开头添加书签,但我注意到,在键入书签时,书签可以被删除

欢迎提供任何想法、提示和提示。提前谢谢


Ruben。

尝试使用,然后您甚至不必安装MS word。

如果您没有使用内容控件的tag属性,您是否考虑使用合并字段?根据您使用内容控件处理文档的方式,它可以为您提供相同的功能和更好的性能。合并字段需要更少的内存空间,并且填充速度比内容控件快得多。

谢谢Micah的建议。问题是,用户将使用Word 2010编辑文档。该插件在Word中添加了一个功能区,其中包含一些按钮,可用于插入新的章节、子章节或段落。问题不在于单词doc本身的生成,而在于我们使用的内容控件数量的限制。谢谢。这实际上是个好主意。不过,我已经设法绕过了这个限制,使用了少得多的内容控件。最后,我只对容器元素使用了内容控件,而对文本元素使用了带有特定样式的普通段落。这大大减少了内容控件的数量,Word不再有任何问题。