代码之家  ›  专栏  ›  技术社区  ›  Sebastian

是否可以更新用SyncFusion的docio lib生成的Word文档的toc(tableofcontents)?

  •  5
  • Sebastian  · 技术社区  · 14 年前

    我们的应用程序使用 Syncfusion's DocIO LIBS。基本上,我们加载一个模板并将特定的文本插入到特定书签中,生成一个用户可以随时下载的Word文档。

    我们面临的问题是:

    • 模板有4页长,并且有TOC。
    • 当我们添加内容时,页面中的文档大小自然会增加。
    • 下载文档时,目录仍然反映模板中使用的页码。换句话说,用户必须手动更新TOC(二级单击->更新字段),以便刷新页码。

    根据SyncFusion的文档(这是稀缺的…)这是不可能使用它们的lib的。因此,我们在模板中实现了一个autoopen宏,当文档作为解决方法打开时,它会更新TOC。但是,当打开文件时(因为宏),这会导致安全警告,这会使我们的使用不舒服。

    你们中有人有改进这个实现的想法吗? 谢谢,

    1 回复  |  直到 12 年前
        1
  •  11
  •   Mutix question    13 年前

    试试这个

    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();
    
    推荐文章