获取doc文件blob格式和base64字符串
let url = `${location.origin}/assets/templates/test.docx`;
fetch(url).then(response => response.blob()).then((base64String) => {
blobToBase64(base64String).then(async (res: any) => {
let documentBase64 = res.split(',')[1];
this.updateDocument(documentBase64 );
}).catch(error => {
console.log(error);
});
}).catch(error => {
console.log(error);
})
在Word文档中更新文档
updateDocument(templateBase64) {
Word.run(async context => {
context.document.insertFileFromBase64(templateBase64, Word.InsertLocation.replace);
await context.sync();
})
}
预期:字体大小和字体系列根据更新文档
document.insertFileFromBase64() API 可以在设置 InsertOption 参数时导入所有样式。您可以参考该文档并像以下示例一样使用它: https://learn.microsoft.com/en-us/javascript/api/word/word.document?view=word-js-preview#word-word-document-insertfilefrombase64-member(1)
context.document.insertFileFromBase64(externalDocument,"Start", {
importTheme: true,
importStyles: true,
importParagraphSpacing: true,
importPageColor: true,
importChangeTrackingMode: true,
importCustomProperties: true,
importCustomXmlParts: true,
importDifferentOddEvenPages: true
});