使用nodeJs和docxtemplater更新.docx中的TOC(目录)

时间:2016-08-09 07:02:21

标签: node.js docxtemplater

Microsoft Word 工具的默认隐私设置已禁用,可信 VB脚本未设置。因此,编写(VB脚本)来更新字段不是一个好主意,以告诉用户通过更改设置允许宏附加到文档文件。

打开生成的 Docx文件,然后按'alt'+'F9'。此命令将显示所有域代码。我们将对总数页面使用字段代码“ {NUMPAGES} ”(带花括号)。请注意,页脚标题自动更新字段(文档打开后会自动更新字段),但对于TOC我们无法将其放入页眉或页脚。关闭文档文件。

在您使用 {NUMPAGES} xml 标记的代码中,将设置为 true ,即, var totalPages = '<w:instrText w:instr="TOC" w:dirty="true"> NUMPAGES </w:instrText>以及在Docx模板文件中,使用 {@ totalPages} 来映射xml值。

Docx 文件实际上是 zip 文件,将模板文档文件从“.docx”重命名为“.zip”。你会发现一些zip文件夹和文件。文件夹'word'包含您的主 document.xml (文档文件内容)和 settings.xml (文档文件设置)文件。打开'settings.xml',在<w:updateFields w:val="true" />标记下写<w:settings>,确保在</w:settings>之前编写上述代码。这将要求用户在打开docx文件时更新字段,这是因为我们已在“settings.xml”文件中将 updateFields 值设置为 true 。现在保存'settings.xml'并更新zip文件(如果有要求)。 zip文件重命名为“.docx”。现在生成docx文件,它将自动更新所有字段。

0 个答案:

没有答案