是否可以更新使用Syncfusion的DocIO lib生成的Word文档的TOC(TableOfContents)?

Seb*_*ian 6 .net c# ms-word

我们的应用程序使用Syncfusion的DocIO库生成Word文档.基本上,我们加载模板并在其中插入特定书签中的特定文本,生成用户即时下载的Word文档.

我们面临的问题是:

  • 该模板长4页,具有TOC.
  • 随着我们添加内容,页面中的文档大小增加(自然)
  • 下载文档时,TOC仍会反映模板中使用的页码.换句话说,用户必须手动更新TOC(辅助点击 - >更新字段)才能刷新页码.

根据Syncfusion的文档(很少......),使用他们的lib是不可能的.因此,我们在模板中实现了一个AutoOpen宏,当打开文档作为变通方法时,它会更新TOC.但是,这会在打开文件时导致安全警告(因为宏),这使我们的使用感到不舒服.

你们有没有想过改进这个实现?谢谢,

小智 12

试试这个

Document wordDocument;
Microsoft.Office.Interop.Word.Application word = new Microsoft.Office.Interop.Word.Application(); 
wordDocument = word.Documents.Open(saveFileDialog.FileName);
wordDocument.TablesOfContents[1].Update();
wordDocument.Save();
word.Quit();
Run Code Online (Sandbox Code Playgroud)