我正在使用Office JS开发一个Word加载项,用户可以决定从远程服务器API打开文档。在这种情况下,我需要从服务器API接收文件并在Word中打开它。
目前,我正在发出一个HTTP请求,要求从Base64编码的远程服务器获取文档内容。
然后我正在使用:
var body = context.document.body;
body.insertFileFromBase64 (fileData, Word.InsertLocation.replace);
// (where fileData is the Base64 content)
这样做(文档实际上是打开的),但我不太喜欢它,因为它取代了当前文档的内容,而不是打开一个新文档。
有没有办法让Word将文档作为新文档打开而不是替换现有文档的内容?
我在上面描述了我的用例,以防您也可以提出更好的解决方案。
答案 0 :(得分:1)
有一个API,在预览中,您可以使用它。这是一段代码: (请注意,createDocument采用可选参数,base64编码的docx),如果提供的话,打开的文档将包含它。
为了测试API,请确保在此处使用Office.js的预览CDN https://appsforoffice.microsoft.com/lib/beta/hosted/office.js
并且您有Office的最新更新。
这是代码:
Word.run(function (context) {
context.application.createDocument().open(); // optionally on createDocument send a base-64 docx.
return context.sync();
})