我正在尝试使用以下方法将图像插入到word文档中:
bodyObject.insertInlinePictureFromBase64
,但我得到的错误是该方法未定义。
然而,枚举的其余方法here似乎可用,只有这一个缺失。如果这个真的不可用,我正在寻找一些许可吗?如果它现在不可用,那么它会在不久的将来出现吗?
答案 0 :(得分:2)
这是一个很好的问题,奥斯卡感谢您的提问。我很确定您看到此问题的原因是因为在Word构建中您使用的Word 1.2要求集可能不受支持,您需要更新Word。为了检查这一点,请转到文件 - >帐户并确保您的构建是6568+(请查看下面的图片)。如果您没有6568.xxxx +确定更新您的Office。
现在,为了安全地使用此方法,您需要在运行时确保执行加载项的主机是否实际支持1.2要求集,并且通过" isSetSupported"方法。看这个例子:
if (Office.context.requirements.isSetSupported("WordApi", "1.2")) {
Word.run(function (context){
var myBase64File = getDocumentAsBase64(); // assumes gets a docx file as base64
context.document.body.insertFileFromBase64(myBase64File, "end");
return context.sync();
})
.catch(function (myError) {
//otherwise we handle the exception here!
app.showNotification("Error", myError.message);
}) }
else {
//if you reach this code it means that the Word executing this code does not yet support the 1.2 requirement set. in this case you can also insert a paragraph and then insert the document on the paragraph.
app.showNotification("Error. This functionality requires Word with at least January update!! (check builds 6568+)");
}
最后,要查看每个要求集支持哪些API,请参阅此page
我希望你发现这篇文章非常有帮助。
答案 1 :(得分:1)
...我还注意到你说你要插入一张图片。 insertFileFromBase64方法旨在插入整个Word文档。 (即docx文件)如果要插入图像,则需要使用Body.insertInlinePictureFromBase64(base64EncodedImage,insertLocation)方法。 go here for reference 这也是1.2要求集的一部分。