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

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

我们面临的问题是:

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

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

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

试试这个

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();