Office Add-in 将模板添加到 Word

问题描述 投票:0回答:3

我正在尝试为 Word 创建一个加载项,以添加基于另存为

.xml
的 Word 文件的模板。

我正在做的是使用Word 2016创建我的模板。该模板包含正文、页眉和页脚。然后我将 Word 文件另存为 Word XML 文档 (

.xml
)

然后在我的 VS 项目中,我使用以下代码将模板添加到空白 Word 文件:

var myOOXMLRequest = new XMLHttpRequest();
var myXML;
myOOXMLRequest.open('GET', fileName, false);
myOOXMLRequest.send();

if (myOOXMLRequest.status === 200) {
    myXML = myOOXMLRequest.responseText;
}

Office.context.document.setSelectedDataAsync(myXML, {
    coercionType: 'ooxml'
});

我的问题是我的模板正文已正确添加到新模板中,但页眉和页脚不存在。

我是

ooxml
和 office.js 的新手。关于如何直接从带有正文的文件添加页眉和页脚的任何建议都会很棒。

ms-word office-js
3个回答
1
投票

要在Office.js中使用模板,您需要对.dotx模板文件进行base64编码(将其上传到base64encode.org并保存txt文件)。获得 .txt 文件后,将其添加到项目中并告诉 Word 从该文件创建一个新文档,它将包含该模板中的页眉/页脚/样式:

this.http.get('./assets/template.txt').subscribe(response => {
  Word.run(async context => {
    const myNewDoc = context.application.createDocument(response);
    context.load(myNewDoc);
    await context.sync();
    myNewDoc.open();
    await context.sync();
  });
});


0
投票
我已成功将 Base-64 编码模板插入到活动文档中,但这与使用 Word 的 UI 附加文档不同。当一位关键用户指出她附加到样式的模板指定的快捷键未导入时,我发现了这一点。一些挖掘发现 .docx 文件中包含对模板的 2 个引用。您可以通过解压缩 .docx 文件并检查 docProps pp.xml 和 Word_rels\settings.xml.rels 来找到这些条目。我还没有找到将这些引用添加到文档的方法,因为没有 document.insertOOXML 方法。

© www.soinside.com 2019 - 2024. All rights reserved.